diff --git a/src/main/java/org/betterx/bclib/blocks/BaseWallBlock.java b/src/main/java/org/betterx/bclib/blocks/BaseWallBlock.java index 69bd0bbf..88e74f1c 100644 --- a/src/main/java/org/betterx/bclib/blocks/BaseWallBlock.java +++ b/src/main/java/org/betterx/bclib/blocks/BaseWallBlock.java @@ -1,5 +1,6 @@ package org.betterx.bclib.blocks; +import org.betterx.bclib.behaviours.interfaces.BehaviourStone; import org.betterx.bclib.behaviours.interfaces.BehaviourWood; import org.betterx.bclib.client.models.BasePatterns; import org.betterx.bclib.client.models.ModelsHelper; @@ -125,9 +126,15 @@ public abstract class BaseWallBlock extends WallBlock implements BlockModelProvi return builder.build(); } - public static class Stone extends BaseWallBlock implements BehaviourWood { + public static class Stone extends BaseWallBlock implements BehaviourStone { public Stone(Block source) { super(source); } } + + public static class Wood extends BaseWallBlock implements BehaviourWood { + public Wood(Block source) { + super(source); + } + } } diff --git a/src/main/java/org/betterx/bclib/complexmaterials/set/wood/Wall.java b/src/main/java/org/betterx/bclib/complexmaterials/set/wood/Wall.java new file mode 100644 index 00000000..16087b10 --- /dev/null +++ b/src/main/java/org/betterx/bclib/complexmaterials/set/wood/Wall.java @@ -0,0 +1,38 @@ +package org.betterx.bclib.complexmaterials.set.wood; + +import org.betterx.bclib.blocks.BaseWallBlock; +import org.betterx.bclib.complexmaterials.ComplexMaterial; +import org.betterx.bclib.complexmaterials.WoodenComplexMaterial; +import org.betterx.bclib.complexmaterials.entry.MaterialSlot; +import org.betterx.bclib.complexmaterials.set.common.AbstractWall; +import org.betterx.bclib.recipes.BCLRecipeBuilder; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class Wall extends AbstractWall { + @Override + protected @NotNull Block createBlock(WoodenComplexMaterial parentMaterial, BlockBehaviour.Properties settings) { + return new BaseWallBlock.Wood(parentMaterial.getBlock(getSourceBlockSlot())); + } + + @Override + protected @Nullable void makeRecipe(ComplexMaterial parentMaterial, ResourceLocation id) { + BCLRecipeBuilder.crafting(id, parentMaterial.getBlock(suffix)) + .setOutputCount(6) + .setShape("* *", "|||") + .addMaterial('*', parentMaterial.getBlock(WoodSlots.PLANKS)) + .addMaterial('|', parentMaterial.getBlock(WoodSlots.FENCE)) + .setGroup("wall") + .build(); + } + + @Override + protected @Nullable MaterialSlot getSourceBlockSlot() { + return WoodSlots.PLANKS; + } +}