From e9ae0b06e6846fc1c633bbf498ceca167fd9cfd2 Mon Sep 17 00:00:00 2001 From: steev Date: Sun, 5 Nov 2023 22:50:04 +0100 Subject: [PATCH] added crafting recipes and blocks --- .../de/slpnetwork/brewcraft/Brewcraft.java | 4 +- .../slpnetwork/brewcraft/block/ModBlocks.java | 51 ++++++++++++++++++ .../brewcraft/item/ModCreativeModeTabs.java | 3 ++ .../brewcraft/blockstates/sapphire_block.json | 7 +++ .../assets/brewcraft/lang/en_us.json | 3 +- .../models/block/sapphire_block.json | 6 +++ .../brewcraft/models/item/sapphire_block.json | 3 ++ .../textures/block/sapphire_block.png | Bin 0 -> 459 bytes .../recipes/sapphire_block_from_sapphire.json | 18 +++++++ .../recipes/sapphire_from_sapphire_block.json | 13 +++++ 10 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 src/main/java/de/slpnetwork/brewcraft/block/ModBlocks.java create mode 100644 src/main/resources/assets/brewcraft/blockstates/sapphire_block.json create mode 100644 src/main/resources/assets/brewcraft/models/block/sapphire_block.json create mode 100644 src/main/resources/assets/brewcraft/models/item/sapphire_block.json create mode 100644 src/main/resources/assets/brewcraft/textures/block/sapphire_block.png create mode 100644 src/main/resources/data/brewcraft/recipes/sapphire_block_from_sapphire.json create mode 100644 src/main/resources/data/brewcraft/recipes/sapphire_from_sapphire_block.json diff --git a/src/main/java/de/slpnetwork/brewcraft/Brewcraft.java b/src/main/java/de/slpnetwork/brewcraft/Brewcraft.java index ca8cc2c..bab5cdd 100644 --- a/src/main/java/de/slpnetwork/brewcraft/Brewcraft.java +++ b/src/main/java/de/slpnetwork/brewcraft/Brewcraft.java @@ -1,6 +1,7 @@ package de.slpnetwork.brewcraft; import com.mojang.logging.LogUtils; +import de.slpnetwork.brewcraft.block.ModBlocks; import de.slpnetwork.brewcraft.item.ModCreativeModeTabs; import de.slpnetwork.brewcraft.item.ModItems; import net.minecraft.world.item.CreativeModeTabs; @@ -10,9 +11,7 @@ import net.minecraftforge.event.BuildCreativeModeTabContentsEvent; import net.minecraftforge.event.server.ServerStartingEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @@ -33,6 +32,7 @@ public class Brewcraft IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); ModItems.register(modEventBus); + ModBlocks.register(modEventBus); ModCreativeModeTabs.register(modEventBus); // Register the commonSetup method for modloading diff --git a/src/main/java/de/slpnetwork/brewcraft/block/ModBlocks.java b/src/main/java/de/slpnetwork/brewcraft/block/ModBlocks.java new file mode 100644 index 0000000..f4c2d51 --- /dev/null +++ b/src/main/java/de/slpnetwork/brewcraft/block/ModBlocks.java @@ -0,0 +1,51 @@ +package de.slpnetwork.brewcraft.block; + +import de.slpnetwork.brewcraft.Brewcraft; +import de.slpnetwork.brewcraft.item.ModItems; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; + +public class ModBlocks { + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Brewcraft.MODID); + + + // example development block + public static final RegistryObject SAPPHIRE_BLOCK = registerBlock("sapphire_block", + () -> new Block(BlockBehaviour.Properties.copy(Blocks.EMERALD_BLOCK).sound(SoundType.AMETHYST))); + + /** + * Handles registering the block itself and registering it as an item + * @param name the blocks name + * @param block the blocks properties + * @return the blocks registryObject + */ + private static RegistryObject registerBlock(String name, Supplier block){ + RegistryObject toReturn = BLOCKS.register(name, block); + registerBlockItem(name, toReturn); + return toReturn; + } + + /** + * registers blocks as item + * @param name the blocks name + * @param block the block + * @return an item containing that block + */ + private static RegistryObject registerBlockItem(String name, RegistryObject block) { + return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); + } + + public static void register(IEventBus eventBus) { + BLOCKS.register(eventBus); + } +} diff --git a/src/main/java/de/slpnetwork/brewcraft/item/ModCreativeModeTabs.java b/src/main/java/de/slpnetwork/brewcraft/item/ModCreativeModeTabs.java index 7ebfc79..0dd75ca 100644 --- a/src/main/java/de/slpnetwork/brewcraft/item/ModCreativeModeTabs.java +++ b/src/main/java/de/slpnetwork/brewcraft/item/ModCreativeModeTabs.java @@ -1,6 +1,7 @@ package de.slpnetwork.brewcraft.item; import de.slpnetwork.brewcraft.Brewcraft; +import de.slpnetwork.brewcraft.block.ModBlocks; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; @@ -23,6 +24,7 @@ public class ModCreativeModeTabs { () -> new ItemStack(ModItems.Hop.get())) .title(Component.translatable("creativetab.brewcraft_tab")) .displayItems((pParameters, pOutput) -> { + pOutput.accept(ModItems.Saphire.get()); pOutput.accept(ModItems.Barley_Malt.get()); pOutput.accept(ModItems.Malt.get()); pOutput.accept(ModItems.Yeast.get()); @@ -57,6 +59,7 @@ public class ModCreativeModeTabs { pOutput.accept(ModItems.Bottle_Of_Apple_Juice.get()); pOutput.accept(ModItems.Bottle_Of_Grape_Juice.get()); pOutput.accept(ModItems.Bottle_Of_Sake.get()); + pOutput.accept(ModBlocks.SAPPHIRE_BLOCK.get()); }) .build()); diff --git a/src/main/resources/assets/brewcraft/blockstates/sapphire_block.json b/src/main/resources/assets/brewcraft/blockstates/sapphire_block.json new file mode 100644 index 0000000..7e13216 --- /dev/null +++ b/src/main/resources/assets/brewcraft/blockstates/sapphire_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "brewcraft:block/sapphire_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/brewcraft/lang/en_us.json b/src/main/resources/assets/brewcraft/lang/en_us.json index 569715d..5fbfe88 100644 --- a/src/main/resources/assets/brewcraft/lang/en_us.json +++ b/src/main/resources/assets/brewcraft/lang/en_us.json @@ -29,8 +29,9 @@ "item.brewcraft.glass_of_sake": "Glass of Sake", "item.brewcraft.glass_of_yeast_beer": "Glass of Yeast Beer", "item.brewcraft.glass_of_pils_beer": "Glass of Pils Beer", - "item.brewcraft.glass": "Glass", + "block.brewcraft.sapphire_block": "Block of Sapphire", + "creativetab.brewcraft_tab": "Brewcraft" } \ No newline at end of file diff --git a/src/main/resources/assets/brewcraft/models/block/sapphire_block.json b/src/main/resources/assets/brewcraft/models/block/sapphire_block.json new file mode 100644 index 0000000..697966d --- /dev/null +++ b/src/main/resources/assets/brewcraft/models/block/sapphire_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "brewcraft:block/sapphire_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/brewcraft/models/item/sapphire_block.json b/src/main/resources/assets/brewcraft/models/item/sapphire_block.json new file mode 100644 index 0000000..652da6d --- /dev/null +++ b/src/main/resources/assets/brewcraft/models/item/sapphire_block.json @@ -0,0 +1,3 @@ +{ + "parent": "brewcraft:block/sapphire_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/brewcraft/textures/block/sapphire_block.png b/src/main/resources/assets/brewcraft/textures/block/sapphire_block.png new file mode 100644 index 0000000000000000000000000000000000000000..47a8754a85c5b597ae86b74c7138caac5fe38359 GIT binary patch literal 459 zcmV;+0W|)JP)@? zT-Tz=8;EYBeOuSjB4WTzBt(J;{tTin5=L7b&vC}ldRO1foag=i&WM%k=LrC|!@p`b zb?BQz04xPRo@M`Ji=T1q)CTQD5&-kNitp91upNG48H(kH2xROW=}Z8vz_;=4Ii{-M zV9UV;jN=Oc))Q&Uhid?oo?arxK~n?Zah}y+yJI9==zT21@hrO{Gbk)tO1a ztlMn>V9Cj5$>dJB+lz%@D-oB*#OZx|xS*6OC zKCILmbad=bGmAzYlDSz0_P~=TrWd6*XQE(Hb>%}+-UU&0F%;DOcq6sFuZ`w2D_Cty zDYOM3VzLZY?HIl}3{78~*bcOtOEW830Qc`B-A1Tya|rnYqEVNFTObiTy_!tYnNS9E zI^lWwf&GiBi|Dju1)|deHDO?k8>Imej63qz`UN`3l2nE5F;V~k002ovPDHLkV1mIJ B$D#lL literal 0 HcmV?d00001 diff --git a/src/main/resources/data/brewcraft/recipes/sapphire_block_from_sapphire.json b/src/main/resources/data/brewcraft/recipes/sapphire_block_from_sapphire.json new file mode 100644 index 0000000..0342d65 --- /dev/null +++ b/src/main/resources/data/brewcraft/recipes/sapphire_block_from_sapphire.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "brewcraft:sapphire" + } + }, + "result": { + "item": "brewcraft:sapphire_block", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/brewcraft/recipes/sapphire_from_sapphire_block.json b/src/main/resources/data/brewcraft/recipes/sapphire_from_sapphire_block.json new file mode 100644 index 0000000..83ca5b8 --- /dev/null +++ b/src/main/resources/data/brewcraft/recipes/sapphire_from_sapphire_block.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "brewcraft:sapphire_block" + } + ], + "result":{ + "item": "brewcraft:sapphire", + "count": 9 + } +} \ No newline at end of file