diff --git a/src/main/java/com/technovision/tutorial/blocks/BlockItemBase.java b/src/main/java/com/technovision/tutorial/blocks/BlockItemBase.java new file mode 100644 index 0000000..2aeee8d --- /dev/null +++ b/src/main/java/com/technovision/tutorial/blocks/BlockItemBase.java @@ -0,0 +1,13 @@ +package com.technovision.tutorial.blocks; + +import com.technovision.tutorial.Tutorial; +import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; + +public class BlockItemBase extends BlockItem { + + public BlockItemBase(Block block) { + super(block, new Item.Properties().group(Tutorial.TAB)); + } +} diff --git a/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java b/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java new file mode 100644 index 0000000..80c0dba --- /dev/null +++ b/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java @@ -0,0 +1,18 @@ +package com.technovision.tutorial.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraftforge.common.ToolType; + +public class RubyBlock extends Block { + + public RubyBlock() { + super(Block.Properties.create(Material.IRON) + .hardnessAndResistance(5.0f, 6.0f) + .sound(SoundType.METAL) + .harvestLevel(3) //1 - wood, 2 - stone, 3 - iron, 4 - diamond + .harvestTool(ToolType.PICKAXE) + ); + } +} diff --git a/src/main/java/com/technovision/tutorial/util/RegistryHandler.java b/src/main/java/com/technovision/tutorial/util/RegistryHandler.java index 1005862..99e3041 100644 --- a/src/main/java/com/technovision/tutorial/util/RegistryHandler.java +++ b/src/main/java/com/technovision/tutorial/util/RegistryHandler.java @@ -1,7 +1,10 @@ package com.technovision.tutorial.util; import com.technovision.tutorial.Tutorial; +import com.technovision.tutorial.blocks.BlockItemBase; +import com.technovision.tutorial.blocks.RubyBlock; import com.technovision.tutorial.items.ItemBase; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @@ -11,12 +14,20 @@ import net.minecraftforge.registries.ForgeRegistries; public class RegistryHandler { public static final DeferredRegister ITEMS = new DeferredRegister<>(ForgeRegistries.ITEMS, Tutorial.MOD_ID); + public static final DeferredRegister BLOCKS = new DeferredRegister<>(ForgeRegistries.BLOCKS, Tutorial.MOD_ID); public static void init() { ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus()); + BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus()); } // Items public static final RegistryObject RUBY = ITEMS.register("ruby", ItemBase::new); + // Blocks + public static final RegistryObject RUBY_BLOCK = BLOCKS.register("ruby_block", RubyBlock::new); + + // Block Items + public static final RegistryObject RUBY_BLOCK_ITEM = ITEMS.register("ruby_block", () -> new BlockItemBase(RUBY_BLOCK.get())); + } diff --git a/src/main/resources/assets/tutorial/blockstates/ruby_block.json b/src/main/resources/assets/tutorial/blockstates/ruby_block.json new file mode 100644 index 0000000..8e857d1 --- /dev/null +++ b/src/main/resources/assets/tutorial/blockstates/ruby_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "tutorial:block/ruby_block" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/lang/en_us.json b/src/main/resources/assets/tutorial/lang/en_us.json index 7773a4e..4a95fc0 100644 --- a/src/main/resources/assets/tutorial/lang/en_us.json +++ b/src/main/resources/assets/tutorial/lang/en_us.json @@ -1,4 +1,5 @@ { "item.tutorial.ruby": "Ruby", + "block.tutorial.ruby_block": "Block of Ruby", "itemGroup.tutorialTab": "Tutorial" } \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/models/block/ruby_block.json b/src/main/resources/assets/tutorial/models/block/ruby_block.json new file mode 100644 index 0000000..c61fd28 --- /dev/null +++ b/src/main/resources/assets/tutorial/models/block/ruby_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tutorial:blocks/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/models/item/ruby_block.json b/src/main/resources/assets/tutorial/models/item/ruby_block.json new file mode 100644 index 0000000..9c68ce6 --- /dev/null +++ b/src/main/resources/assets/tutorial/models/item/ruby_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tutorial:block/ruby_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/textures/blocks/ruby_block.png b/src/main/resources/assets/tutorial/textures/blocks/ruby_block.png new file mode 100644 index 0000000..ce64d5a Binary files /dev/null and b/src/main/resources/assets/tutorial/textures/blocks/ruby_block.png differ