From 3655550fe0b081749a8d2c9839aaa02abfc21176 Mon Sep 17 00:00:00 2001 From: sillyangel Date: Sat, 14 Dec 2024 15:03:03 -0600 Subject: [PATCH] BLOCK --- .../java/xyz/sillyangel/nugget/NuggetMod.java | 6 +++ .../sillyangel/nugget/block/ModBlocks.java | 44 +++++++++++++++++- .../nuggetmod/blockstates/nugget_block.json | 5 ++ .../blockstates/raw_nugget_block.json | 5 ++ .../assets/nuggetmod/lang/en_us.json | 4 +- .../nuggetmod/models/block/nugget_block.json | 6 +++ .../models/block/raw_nugget_block.json | 6 +++ .../nuggetmod/models/item/nugget_block.json | 3 ++ .../models/item/raw_nugget_block.json | 3 ++ .../nuggetmod/textures/block/nugget_block.png | Bin 0 -> 5145 bytes .../textures/block/raw_nugget_block.png | Bin 0 -> 6456 bytes 11 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/nuggetmod/blockstates/nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/blockstates/raw_nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/models/block/nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/models/block/raw_nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/models/item/nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/models/item/raw_nugget_block.json create mode 100644 src/main/resources/assets/nuggetmod/textures/block/nugget_block.png create mode 100644 src/main/resources/assets/nuggetmod/textures/block/raw_nugget_block.png diff --git a/src/main/java/xyz/sillyangel/nugget/NuggetMod.java b/src/main/java/xyz/sillyangel/nugget/NuggetMod.java index 0880380..a69b99d 100644 --- a/src/main/java/xyz/sillyangel/nugget/NuggetMod.java +++ b/src/main/java/xyz/sillyangel/nugget/NuggetMod.java @@ -16,6 +16,7 @@ import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; import xyz.sillyangel.nugget.item.ModItems; +import xyz.sillyangel.nugget.block.ModBlocks; // Very important Comment // The value here should match an entry in the META-INF/mods.toml file @@ -33,6 +34,7 @@ public class NuggetMod { MinecraftForge.EVENT_BUS.register(this); ModItems.register(modEventBus); + ModBlocks.register(modEventBus); // Register the item to a creative tab modEventBus.addListener(this::addCreative); @@ -49,6 +51,10 @@ public class NuggetMod { if (event.getTabKey() == CreativeModeTabs.INGREDIENTS) { event.accept(ModItems.NUGGET); } + if (event.getTabKey() == CreativeModeTabs.BUILDING_BLOCKS) { + event.accept(ModBlocks.NUGGET_BLOCK); + event.accept(ModBlocks.RAW_NUGGET_BLOCK); + } } // You can use SubscribeEvent and let the Event Bus discover methods to call diff --git a/src/main/java/xyz/sillyangel/nugget/block/ModBlocks.java b/src/main/java/xyz/sillyangel/nugget/block/ModBlocks.java index 836f055..25aab1c 100644 --- a/src/main/java/xyz/sillyangel/nugget/block/ModBlocks.java +++ b/src/main/java/xyz/sillyangel/nugget/block/ModBlocks.java @@ -1,3 +1,43 @@ +package xyz.sillyangel.nugget.block; + +import net.sillyangel.nugget.NuggetMod; +import net.sillyangel.nugget.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.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, NuggetMod.MOD_ID); + + public static final RegistryObject NUGGET_BLOCK = registerBlock("nugget_block", + () -> new Block(BlockBehaviour.Properties.of() + .strength(4f).requiresCorrectToolForDrops().sound(SoundType.AMETHYST))); + + public static final RegistryObject RAW_NUGGET_BLOCK = registerBlock("raw_nugget_block", + () -> new Block(BlockBehaviour.Properties.of() + .strength(3f).requiresCorrectToolForDrops())); + + + private static RegistryObject registerBlock(String name, Supplier block) { + RegistryObject toReturn = BLOCKS.register(name, block); + registerBlockItem(name, toReturn); + return toReturn; + } + + private static void registerBlockItem(String name, RegistryObject block) { + ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); + } + + public static void register(IEventBus eventBus) { + BLOCKS.register(eventBus); + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/blockstates/nugget_block.json b/src/main/resources/assets/nuggetmod/blockstates/nugget_block.json new file mode 100644 index 0000000..76ae4e4 --- /dev/null +++ b/src/main/resources/assets/nuggetmod/blockstates/nugget_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "nuggetmod:nugget_block" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/blockstates/raw_nugget_block.json b/src/main/resources/assets/nuggetmod/blockstates/raw_nugget_block.json new file mode 100644 index 0000000..58fc551 --- /dev/null +++ b/src/main/resources/assets/nuggetmod/blockstates/raw_nugget_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "nuggetmod:raw_nugget_block" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/lang/en_us.json b/src/main/resources/assets/nuggetmod/lang/en_us.json index 09222c0..6615b6f 100644 --- a/src/main/resources/assets/nuggetmod/lang/en_us.json +++ b/src/main/resources/assets/nuggetmod/lang/en_us.json @@ -1,3 +1,5 @@ { - "item.nuggetmod.nugget": "nugget" + "item.nuggetmod.nugget": "nugget", + "block.nuggetmod.nugget_block": "Nugget Block", + "block.nuggetmod.raw_nugget_block": "Raw Nugget Block" } \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/models/block/nugget_block.json b/src/main/resources/assets/nuggetmod/models/block/nugget_block.json new file mode 100644 index 0000000..b3700a7 --- /dev/null +++ b/src/main/resources/assets/nuggetmod/models/block/nugget_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraf:block/cube_all", + "textures": { + "all": "nuggetmod:block/nugget_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/models/block/raw_nugget_block.json b/src/main/resources/assets/nuggetmod/models/block/raw_nugget_block.json new file mode 100644 index 0000000..9213c55 --- /dev/null +++ b/src/main/resources/assets/nuggetmod/models/block/raw_nugget_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraf:block/cube_all", + "textures": { + "all": "nuggetmod:block/raw_nugget_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/models/item/nugget_block.json b/src/main/resources/assets/nuggetmod/models/item/nugget_block.json new file mode 100644 index 0000000..919ff0a --- /dev/null +++ b/src/main/resources/assets/nuggetmod/models/item/nugget_block.json @@ -0,0 +1,3 @@ +{ + "parent": "nuggetmod:block/nugget_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/models/item/raw_nugget_block.json b/src/main/resources/assets/nuggetmod/models/item/raw_nugget_block.json new file mode 100644 index 0000000..248ff97 --- /dev/null +++ b/src/main/resources/assets/nuggetmod/models/item/raw_nugget_block.json @@ -0,0 +1,3 @@ +{ + "parent": "nuggetmod:block/raw_nugget_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/nuggetmod/textures/block/nugget_block.png b/src/main/resources/assets/nuggetmod/textures/block/nugget_block.png new file mode 100644 index 0000000000000000000000000000000000000000..bd21501915f3bfe07e3e458e089750d95ed3cf85 GIT binary patch literal 5145 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 Sxb}Yl0000