diff --git a/src/main/java/de/jottyfan/gta/gdp/GTAGDP.java b/src/main/java/de/jottyfan/gta/gdp/GTAGDP.java index 904ed3c..a3f65ed 100644 --- a/src/main/java/de/jottyfan/gta/gdp/GTAGDP.java +++ b/src/main/java/de/jottyfan/gta/gdp/GTAGDP.java @@ -5,6 +5,7 @@ import net.fabricmc.api.ModInitializer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import de.jottyfan.gta.gdp.block.ModBlocks; import de.jottyfan.gta.gdp.item.ModItems; /** @@ -19,5 +20,6 @@ public class GTAGDP implements ModInitializer { @Override public void onInitialize() { ModItems.registerModItems(); + ModBlocks.registerModBlocks(); } } \ No newline at end of file diff --git a/src/main/java/de/jottyfan/gta/gdp/block/ModBlocks.java b/src/main/java/de/jottyfan/gta/gdp/block/ModBlocks.java new file mode 100644 index 0000000..3d02295 --- /dev/null +++ b/src/main/java/de/jottyfan/gta/gdp/block/ModBlocks.java @@ -0,0 +1,46 @@ +package de.jottyfan.gta.gdp.block; + +import de.jottyfan.gta.gdp.GTAGDP; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroups; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.Identifier; + +/** + * + * @author jotty + * + */ +public class ModBlocks { + + public static final Block RUBY_BLOCK = registerBlock(Identifier.of(GTAGDP.MOD_ID, "ruby_block"), + AbstractBlock.Settings.create().strength(4f).requiresTool().sounds(BlockSoundGroup.AMETHYST_BLOCK)); + + private static Block registerBlock(Identifier identifier, Block.Settings settings) { + Block block = new Block(settings.registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); + registerBlockItem(identifier, block, new Item.Settings()); + return Registry.register(Registries.BLOCK, identifier, block); + } + + private static void registerBlockItem(Identifier identifier, Block block, Item.Settings settings) { + Registry.register(Registries.ITEM, identifier, new BlockItem(block, + settings.useBlockPrefixedTranslationKey().registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)))); + } + + public static void registerModBlocks() { + GTAGDP.LOGGER.info("Registering Mod Blocks for {}", + GTAGDP.MOD_ID); + + ItemGroupEvents + .modifyEntriesEvent(ItemGroups.BUILDING_BLOCKS) + .register(entries -> { entries.add(RUBY_BLOCK); }); + } +} diff --git a/src/main/resources/assets/gtagdp/blockstates/ruby_block.json b/src/main/resources/assets/gtagdp/blockstates/ruby_block.json new file mode 100644 index 0000000..9ea141a --- /dev/null +++ b/src/main/resources/assets/gtagdp/blockstates/ruby_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "gtagdp:block/ruby_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/items/ruby_block.json b/src/main/resources/assets/gtagdp/items/ruby_block.json new file mode 100644 index 0000000..89dbbc5 --- /dev/null +++ b/src/main/resources/assets/gtagdp/items/ruby_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gtagdp:block/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/lang/de_de.json b/src/main/resources/assets/gtagdp/lang/de_de.json index db8e62c..5e226e6 100644 --- a/src/main/resources/assets/gtagdp/lang/de_de.json +++ b/src/main/resources/assets/gtagdp/lang/de_de.json @@ -1,4 +1,6 @@ { "item.gtagdp.stub": "Stummel", - "item.gtagdp.rubyball": "Rubinball" + "item.gtagdp.rubyball": "Rubinball", + + "block.gtagdp.ruby_block": "Rubinblock" } \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/lang/en_us.json b/src/main/resources/assets/gtagdp/lang/en_us.json index 88fee5f..4135c36 100644 --- a/src/main/resources/assets/gtagdp/lang/en_us.json +++ b/src/main/resources/assets/gtagdp/lang/en_us.json @@ -1,4 +1,6 @@ { "item.gtagdp.stub": "Stub", - "item.gtagdp.rubyball": "Ruby ball" + "item.gtagdp.rubyball": "Ruby ball", + + "block.gtagdp.ruby_block": "Ruby block" } \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/models/block/ruby_block.json b/src/main/resources/assets/gtagdp/models/block/ruby_block.json new file mode 100644 index 0000000..08d97ca --- /dev/null +++ b/src/main/resources/assets/gtagdp/models/block/ruby_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "gtagdp:block/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/models/item/ruby_block.json b/src/main/resources/assets/gtagdp/models/item/ruby_block.json new file mode 100644 index 0000000..43fbe74 --- /dev/null +++ b/src/main/resources/assets/gtagdp/models/item/ruby_block.json @@ -0,0 +1,3 @@ +{ + "parent": "gtagdp:block/ruby_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/gtagdp/textures/block/ruby_block.png b/src/main/resources/assets/gtagdp/textures/block/ruby_block.png new file mode 100644 index 0000000..90ad3ea Binary files /dev/null and b/src/main/resources/assets/gtagdp/textures/block/ruby_block.png differ