From 38925892fdb38588d80b7cb868fa90a38b7dc150 Mon Sep 17 00:00:00 2001 From: Chris Toph Date: Sun, 16 Feb 2025 03:43:24 -0500 Subject: [PATCH] Added custom blocks for sapphire --- .vscode/settings.json | 6 ++- .../java/cc/toph/tutorialmod/TutorialMod.java | 6 +-- .../cc/toph/tutorialmod/block/ModBlocks.java | 48 ++++++++++++++++++ .../tutorialmod/item/ModCreativeTabs.java | 3 ++ .../blockstates/raw_sapphire_block.json | 7 +++ .../blockstates/sapphire_block.json | 7 +++ .../assets/tutorialmod/lang/en_us.json | 4 ++ .../models/block/raw_sapphire_block.json | 6 +++ .../models/block/sapphire_block.json | 6 +++ .../models/item/raw_sapphire_block.json | 3 ++ .../models/item/sapphire_block.json | 3 ++ .../textures/block/raw_sapphire_block.png | Bin 0 -> 897 bytes .../textures/block/sapphire_block.png | Bin 0 -> 459 bytes 13 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 src/main/java/cc/toph/tutorialmod/block/ModBlocks.java create mode 100644 src/main/resources/assets/tutorialmod/blockstates/raw_sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/blockstates/sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/models/block/raw_sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/models/block/sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/models/item/raw_sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/models/item/sapphire_block.json create mode 100644 src/main/resources/assets/tutorialmod/textures/block/raw_sapphire_block.png create mode 100644 src/main/resources/assets/tutorialmod/textures/block/sapphire_block.png diff --git a/.vscode/settings.json b/.vscode/settings.json index 8265cf5..4577b25 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,5 +14,9 @@ "gradlew": "build.gradle, gradle.properties, gradlew.bat, settings.gradle", ".gitignore": ".gitattributes, .tool-versions, LICENSE.txt, README.md" }, - "workbench.iconTheme": "mc-dp-icons" + "workbench.iconTheme": "material-icon-theme", + "editor.fontSize": 15, + "editor.cursorStyle": "block", + "editor.fontLigatures": true, + "editor.fontFamily": "'Monocraft Nerd Font', 'monospace', monospace" } diff --git a/src/main/java/cc/toph/tutorialmod/TutorialMod.java b/src/main/java/cc/toph/tutorialmod/TutorialMod.java index 651ac77..781bc54 100644 --- a/src/main/java/cc/toph/tutorialmod/TutorialMod.java +++ b/src/main/java/cc/toph/tutorialmod/TutorialMod.java @@ -4,10 +4,10 @@ import org.slf4j.Logger; import com.mojang.logging.LogUtils; +import cc.toph.tutorialmod.block.ModBlocks; import cc.toph.tutorialmod.item.ModCreativeTabs; import cc.toph.tutorialmod.item.ModItems; import net.minecraft.client.Minecraft; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.level.block.Blocks; import net.minecraftforge.api.distmarker.Dist; @@ -38,9 +38,9 @@ public class TutorialMod { // Register the commonSetup method for modloading modEventBus.addListener(this::commonSetup); - // Register the ModItems and CreativeModeTabs class to the modEventBus - ModItems.register(modEventBus); ModCreativeTabs.register(modEventBus); + ModItems.register(modEventBus); + ModBlocks.register(modEventBus); // Register ourselves for server and other game events we are interested in MinecraftForge.EVENT_BUS.register(this); diff --git a/src/main/java/cc/toph/tutorialmod/block/ModBlocks.java b/src/main/java/cc/toph/tutorialmod/block/ModBlocks.java new file mode 100644 index 0000000..0e6d0ef --- /dev/null +++ b/src/main/java/cc/toph/tutorialmod/block/ModBlocks.java @@ -0,0 +1,48 @@ +package cc.toph.tutorialmod.block; + +import java.util.function.Supplier; + +import cc.toph.tutorialmod.TutorialMod; +import cc.toph.tutorialmod.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; + +public class ModBlocks { + + // Deferrer // + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, + TutorialMod.MODID); + + // Blocks // + public static final RegistryObject SAPPHIRE_BLOCK = registerBlock("sapphire_block", + () -> new Block(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).sound(SoundType.AMETHYST))); + + public static final RegistryObject RAW_SAPPHIRE_BLOCK = registerBlock("raw_sapphire_block", + () -> new Block(BlockBehaviour.Properties.copy(Blocks.RAW_IRON_BLOCK).sound(SoundType.AMETHYST))); + + // Methods // + public static void register(IEventBus eventBus) { + BLOCKS.register(eventBus); + } + + private static RegistryObject registerBlock(String name, Supplier block) { + + RegistryObject toReturn = BLOCKS.register(name, block); + registerBlockItem(name, toReturn); + + return toReturn; + } + + private static RegistryObject registerBlockItem(String name, RegistryObject block) { + return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); + } + +} diff --git a/src/main/java/cc/toph/tutorialmod/item/ModCreativeTabs.java b/src/main/java/cc/toph/tutorialmod/item/ModCreativeTabs.java index 242e84a..03251d4 100644 --- a/src/main/java/cc/toph/tutorialmod/item/ModCreativeTabs.java +++ b/src/main/java/cc/toph/tutorialmod/item/ModCreativeTabs.java @@ -1,6 +1,7 @@ package cc.toph.tutorialmod.item; import cc.toph.tutorialmod.TutorialMod; +import cc.toph.tutorialmod.block.ModBlocks; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; @@ -22,5 +23,7 @@ public class ModCreativeTabs { .title(Component.translatable("creativetab.tutorial_tab")).displayItems((pParams, pOut) -> { pOut.accept(ModItems.SAPPHIRE.get()); pOut.accept(ModItems.RAW_SAPPHIRE.get()); + pOut.accept(ModBlocks.SAPPHIRE_BLOCK.get()); + pOut.accept(ModBlocks.RAW_SAPPHIRE_BLOCK.get()); }).build()); } diff --git a/src/main/resources/assets/tutorialmod/blockstates/raw_sapphire_block.json b/src/main/resources/assets/tutorialmod/blockstates/raw_sapphire_block.json new file mode 100644 index 0000000..f1ea3a8 --- /dev/null +++ b/src/main/resources/assets/tutorialmod/blockstates/raw_sapphire_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tutorialmod:block/raw_sapphire_block" + } + } +} diff --git a/src/main/resources/assets/tutorialmod/blockstates/sapphire_block.json b/src/main/resources/assets/tutorialmod/blockstates/sapphire_block.json new file mode 100644 index 0000000..06dd520 --- /dev/null +++ b/src/main/resources/assets/tutorialmod/blockstates/sapphire_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tutorialmod:block/sapphire_block" + } + } +} diff --git a/src/main/resources/assets/tutorialmod/lang/en_us.json b/src/main/resources/assets/tutorialmod/lang/en_us.json index f39306a..c5aa50c 100644 --- a/src/main/resources/assets/tutorialmod/lang/en_us.json +++ b/src/main/resources/assets/tutorialmod/lang/en_us.json @@ -1,5 +1,9 @@ { "item.tutorialmod.sapphire": "Sapphire", "item.tutorialmod.raw_sapphire": "Raw Sapphire", + + "block.tutorialmod.sapphire_block": "Block of Sapphire", + "block.tutorialmod.raw_sapphire_block": "Block of Raw Sapphire", + "creativetab.tutorial_tab": "Sapphire Tab" } diff --git a/src/main/resources/assets/tutorialmod/models/block/raw_sapphire_block.json b/src/main/resources/assets/tutorialmod/models/block/raw_sapphire_block.json new file mode 100644 index 0000000..78fcabb --- /dev/null +++ b/src/main/resources/assets/tutorialmod/models/block/raw_sapphire_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tutorialmod:block/raw_sapphire_block" + } +} diff --git a/src/main/resources/assets/tutorialmod/models/block/sapphire_block.json b/src/main/resources/assets/tutorialmod/models/block/sapphire_block.json new file mode 100644 index 0000000..f011e09 --- /dev/null +++ b/src/main/resources/assets/tutorialmod/models/block/sapphire_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tutorialmod:block/sapphire_block" + } +} diff --git a/src/main/resources/assets/tutorialmod/models/item/raw_sapphire_block.json b/src/main/resources/assets/tutorialmod/models/item/raw_sapphire_block.json new file mode 100644 index 0000000..21c246b --- /dev/null +++ b/src/main/resources/assets/tutorialmod/models/item/raw_sapphire_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tutorialmod:block/raw_sapphire_block" +} diff --git a/src/main/resources/assets/tutorialmod/models/item/sapphire_block.json b/src/main/resources/assets/tutorialmod/models/item/sapphire_block.json new file mode 100644 index 0000000..b4bcb35 --- /dev/null +++ b/src/main/resources/assets/tutorialmod/models/item/sapphire_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tutorialmod:block/sapphire_block" +} diff --git a/src/main/resources/assets/tutorialmod/textures/block/raw_sapphire_block.png b/src/main/resources/assets/tutorialmod/textures/block/raw_sapphire_block.png new file mode 100644 index 0000000000000000000000000000000000000000..368601837b7afbc10190dbba555d668ebc8002d8 GIT binary patch literal 897 zcmV-{1AhF8P)u*eQZ788U87Kzbqbg*jq*V01!zVEN^ z%YZ`rdU)eL_fJ0G?~}(f{Pjg=C6}XE%#$8U(;klju)3UQcjrFKs|8Hm;C9J_ZIn6K zSmc|rb5u5Uw(svCwI-e#oxNM3ocjl_ED;C}TDS0--}AAFLQ$J_9Q z+qr!HJD%u0M)uzoB*WtyJ@V=+gnLgge{}+{ERipin9i8|J$0SUauKIi!PE3GxnCx6 zBtHkTk9!L@*{)Xcy#497&Mo0Z6m)E(jI^Dl{!oIW$vyxUe!M_SOvSb=4h|GNN*Kjk zqQ7qd0I#VVqu}CFv($$&3)D1kn z=?@%$Xw-$LhBQpwU`=Xa{l*Lc`{fOH&3B0Ici&^Xpd$)8tDsOQ>3dy9>8nh|?JpYdPb-pf#u~$FYqveytS%+bA>g&hsp< z7MK{nMoUaZ3o4{iFX4^1Kg#J-g8;~~Kr|wp`}i%sKl>q)xPxt!`RM%=KU|(-I%6_+ z;XGPUAw86)soCd3j7DRqA&rUgYaD*@H2_3GN96t@6q2dr-6Fu37bhP8?CS18HmU-n z>MnnN<`cg7>@4ylo%pp@BsGR@WdX>qZE)tRF#tSD7@H=H*%|i&qbjH?#{oEfYLH8p zej=M$c_0u#bDJyH&iX6>{y+c#>BI|fjMn#SY??LpN-IqLK2QI%C#h7o@E;pQm=61u zEu6gqd-W!~`#Q;FihwUbeZPjRhBN@y@^jRjW+XL+sT+t!1oOrWvMi8-5>KCehQl2l z2;mx7Eaow)!W9YNu~-{MRnXs;psO>18p<*;zDON76qLv;El@1xiAG~&mKFf$?;GGh XV?cQ-+mS>$00000NkvXXu0mjfT@9Ky literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/tutorialmod/textures/block/sapphire_block.png b/src/main/resources/assets/tutorialmod/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