diff --git a/src/main/java/de/jottyfan/minecraft/gta/Uno.java b/src/main/java/de/jottyfan/minecraft/gta/Uno.java index 5def7bd..73a4ed6 100644 --- a/src/main/java/de/jottyfan/minecraft/gta/Uno.java +++ b/src/main/java/de/jottyfan/minecraft/gta/Uno.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.gta; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import de.jottyfan.minecraft.gta.block.UnoBlocks; import de.jottyfan.minecraft.gta.item.UnoItems; import net.fabricmc.api.ModInitializer; @@ -13,7 +14,8 @@ public class Uno implements ModInitializer { @Override public void onInitialize() { - LOGGER.info("Hello Fabric world!"); + LOGGER.info("initializing uno"); UnoItems.registerUnoItems(); + UnoBlocks.registerModBlocks(); } } \ No newline at end of file diff --git a/src/main/java/de/jottyfan/minecraft/gta/block/UnoBlocks.java b/src/main/java/de/jottyfan/minecraft/gta/block/UnoBlocks.java new file mode 100644 index 0000000..685f28b --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/gta/block/UnoBlocks.java @@ -0,0 +1,37 @@ +package de.jottyfan.minecraft.gta.block; + +import java.util.function.Function; + +import de.jottyfan.minecraft.gta.Uno; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceKey; +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.Properties; + +public class UnoBlocks { + public static final Block RUBY_BLOCK = registerBlock("ruby_block", Properties.of().strength(4f).requiresCorrectToolForDrops().sound(SoundType.AMETHYST_CLUSTER)); + + private static final Block registerBlock(String name, Properties properties) { + return UnoBlocks.registerBlock(name, properties, p -> new Block(p)); + } + + private static final Block registerBlock(String name, Properties properties, Function function) { + Identifier identifier = Identifier.fromNamespaceAndPath(Uno.MOD_ID, name); + Block block = function.apply(properties.setId(ResourceKey.create(Registries.BLOCK, identifier))); + Registry.register(BuiltInRegistries.BLOCK, identifier, block); + BlockItem blockItem = new BlockItem(block, new Item.Properties() + .setId(ResourceKey.create(Registries.ITEM, identifier)).modelId(identifier).useItemDescriptionPrefix()); + Registry.register(BuiltInRegistries.ITEM, identifier, blockItem); + return block; + } + + public static void registerModBlocks() { + Uno.LOGGER.info("initializing uno blocks"); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/gta/item/UnoItems.java b/src/main/java/de/jottyfan/minecraft/gta/item/UnoItems.java index c79ea4c..96e3157 100644 --- a/src/main/java/de/jottyfan/minecraft/gta/item/UnoItems.java +++ b/src/main/java/de/jottyfan/minecraft/gta/item/UnoItems.java @@ -25,5 +25,6 @@ public class UnoItems { } public static void registerUnoItems() { + Uno.LOGGER.info("initializing uno items"); } } diff --git a/src/main/resources/assets/uno/blockstates/ruby_block.json b/src/main/resources/assets/uno/blockstates/ruby_block.json new file mode 100644 index 0000000..7bf0a30 --- /dev/null +++ b/src/main/resources/assets/uno/blockstates/ruby_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "uno:block/ruby_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/uno/items/ruby_block.json b/src/main/resources/assets/uno/items/ruby_block.json new file mode 100644 index 0000000..8725c3e --- /dev/null +++ b/src/main/resources/assets/uno/items/ruby_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "uno:block/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/uno/lang/de_de.json b/src/main/resources/assets/uno/lang/de_de.json index 2a2e388..8f3aff5 100644 --- a/src/main/resources/assets/uno/lang/de_de.json +++ b/src/main/resources/assets/uno/lang/de_de.json @@ -1,4 +1,5 @@ { "item.uno.stub": "Stummel", - "item.uno.ruby": "Rubin" + "item.uno.ruby": "Rubin", + "item.uni.ruby_block": "Rubinblock" } \ No newline at end of file diff --git a/src/main/resources/assets/uno/lang/en_us.json b/src/main/resources/assets/uno/lang/en_us.json index ea797cb..0d83119 100644 --- a/src/main/resources/assets/uno/lang/en_us.json +++ b/src/main/resources/assets/uno/lang/en_us.json @@ -1,4 +1,5 @@ { "item.uno.stub": "Stub", - "item.uno.ruby": "Ruby" + "item.uno.ruby": "Ruby", + "item.uno.ruby_block": "Ruby block" } \ No newline at end of file diff --git a/src/main/resources/assets/uno/models/block/ruby_block.json b/src/main/resources/assets/uno/models/block/ruby_block.json new file mode 100644 index 0000000..cbc7dbb --- /dev/null +++ b/src/main/resources/assets/uno/models/block/ruby_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "uno:block/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/uno/models/item/ruby_block.json b/src/main/resources/assets/uno/models/item/ruby_block.json new file mode 100644 index 0000000..91adbc8 --- /dev/null +++ b/src/main/resources/assets/uno/models/item/ruby_block.json @@ -0,0 +1,3 @@ +{ + "parent": "uno:block/ruby_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/uno/textures/block/ruby_block.png b/src/main/resources/assets/uno/textures/block/ruby_block.png new file mode 100644 index 0000000..0dcfeb5 Binary files /dev/null and b/src/main/resources/assets/uno/textures/block/ruby_block.png differ