KelsonCraftFabricTest/src/main/java/net/kelsoncraft/test/block/CustomBlocks.java

49 lines
2.6 KiB
Java
Raw Normal View History

2024-01-18 15:12:06 -05:00
package net.kelsoncraft.test.block;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.kelsoncraft.test.KelsonCraftTest;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.ExperienceDroppingBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.intprovider.UniformIntProvider;
public class CustomBlocks {
public static final Block RUBY_BLOCK = registerBlock("ruby_block",
new Block(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).sounds(BlockSoundGroup.AMETHYST_BLOCK)));
// Custom can be created with something like this:
// new Block(FabricBlockSettings.create()));
public static final Block RAW_RUBY_BLOCK = registerBlock("raw_ruby_block",
new Block(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).sounds(BlockSoundGroup.AMETHYST_BLOCK)));
public static final Block RUBY_ORE = registerBlock("ruby_ore",
new ExperienceDroppingBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2f), UniformIntProvider.create(2, 5)));
public static final Block DEEPSLATE_RUBY_ORE = registerBlock("deepslate_ruby_ore",
new ExperienceDroppingBlock(FabricBlockSettings.copyOf(Blocks.DEEPSLATE).strength(4f), UniformIntProvider.create(2, 5)));
public static final Block NETHER_RUBY_ORE = registerBlock("nether_ruby_ore",
new ExperienceDroppingBlock(FabricBlockSettings.copyOf(Blocks.NETHERRACK).strength(1.5f), UniformIntProvider.create(2, 5)));
public static final Block END_STONE_RUBY_ORE = registerBlock("end_stone_ruby_ore",
new ExperienceDroppingBlock(FabricBlockSettings.copyOf(Blocks.END_STONE).strength(4f), UniformIntProvider.create(4, 7)));
private static Block registerBlock(String name, Block block){
registerBlockItem(name, block);
return Registry.register(Registries.BLOCK, new Identifier(KelsonCraftTest.MOD_ID, name), block);
}
private static Item registerBlockItem(String name, Block block){
return Registry.register(Registries.ITEM, new Identifier(KelsonCraftTest.MOD_ID, name),
new BlockItem(block, new FabricItemSettings()));
}
public static void registerModBlocks(){
KelsonCraftTest.LOGGER.info("Registering custom blocks for " + KelsonCraftTest.MOD_ID);
}
}