diff --git a/src/main/java/net/zepalesque/redux/blockset/util/AetherTabModifying.java b/src/main/java/net/zepalesque/redux/blockset/util/AetherTabModifying.java new file mode 100644 index 000000000..9149f3b4a --- /dev/null +++ b/src/main/java/net/zepalesque/redux/blockset/util/AetherTabModifying.java @@ -0,0 +1,4 @@ +package net.zepalesque.redux.blockset.util; + +public interface AetherTabModifying { +} diff --git a/src/main/java/net/zepalesque/redux/blockset/wood/type/AbstractBookshelfSet.java b/src/main/java/net/zepalesque/redux/blockset/wood/type/AbstractBookshelfSet.java index 66bba0d77..3d1cbcf98 100644 --- a/src/main/java/net/zepalesque/redux/blockset/wood/type/AbstractBookshelfSet.java +++ b/src/main/java/net/zepalesque/redux/blockset/wood/type/AbstractBookshelfSet.java @@ -1,6 +1,7 @@ package net.zepalesque.redux.blockset.wood.type; import com.aetherteam.aether.block.construction.BookshelfBlock; +import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.tags.BlockTags; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.SoundType; @@ -12,6 +13,7 @@ import net.zepalesque.redux.block.ReduxBlocks; import net.zepalesque.redux.data.prov.ReduxItemModelProvider; import net.zepalesque.redux.data.prov.ReduxLanguageProvider; +import net.zepalesque.redux.data.prov.ReduxRecipeProvider; import net.zepalesque.redux.data.prov.loot.ReduxBlockLootProvider; import net.zepalesque.redux.data.prov.tags.ReduxBlockTagsProvider; import net.zepalesque.redux.item.ReduxItems; @@ -52,6 +54,12 @@ protected void langData(ReduxLanguageProvider data) { data.addLore(this.bookshelf(), "A nice bookshelf made of " + name + " wood. These are nice for decoration, and also will enhance the abilities of Enchanting Tables!"); } + @Override + protected void recipeData(ReduxRecipeProvider data, RecipeOutput consumer) { + super.recipeData(data, consumer); + ReduxRecipeProvider.bookshelf(consumer, this.planks(), this.bookshelf()); + } + @Override protected void lootData(ReduxBlockLootProvider data) { super.lootData(data); @@ -70,4 +78,5 @@ public void flammables(FireAccessor accessor) { super.flammables(accessor); accessor.callSetFlammable(this.bookshelf().get(), 30, 20); } + } diff --git a/src/main/java/net/zepalesque/redux/data/prov/ReduxRecipeProvider.java b/src/main/java/net/zepalesque/redux/data/prov/ReduxRecipeProvider.java index c0a38209f..60b674d93 100644 --- a/src/main/java/net/zepalesque/redux/data/prov/ReduxRecipeProvider.java +++ b/src/main/java/net/zepalesque/redux/data/prov/ReduxRecipeProvider.java @@ -15,12 +15,14 @@ import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import java.util.concurrent.CompletableFuture; +import java.util.function.Consumer; import java.util.function.Supplier; public abstract class ReduxRecipeProvider extends AetherRecipeProvider { @@ -89,4 +91,14 @@ public static void wall(RecipeOutput output, RecipeCategory category, ItemLike w RecipeProvider.wall(output, category, wall, material); } + public static void bookshelf(RecipeOutput output, ItemLike plank, ItemLike bookshelf) { + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, bookshelf, 1) + .define('P', plank) + .define('B', Items.BOOK) + .pattern("PPP") + .pattern("BBB") + .pattern("PPP") + .unlockedBy(getHasName(Items.BOOK), has(Items.BOOK)) + .save(output, getItemName(plank) + "_to_" + getItemName(bookshelf)); + } }