Files
gambling-plus/src/main/java/com/ismailkaygisiz/gamblingplus/block/ModBlocks.java

67 lines
3.6 KiB
Java

package com.ismailkaygisiz.gamblingplus.block;
import com.ismailkaygisiz.gamblingplus.GamblingPlusMod;
import com.ismailkaygisiz.gamblingplus.item.ModItems;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.valueproviders.UniformInt;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.CreativeModeTabs;
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.DropExperienceBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.MapColor;
import net.minecraftforge.eventbus.api.bus.BusGroup;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.function.Supplier;
public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, GamblingPlusMod.MOD_ID);
public static final RegistryObject<Block> RUBY_BLOCK = registerBlock("ruby_block",
()-> new Block(BlockBehaviour.Properties.of()
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_block")))))
.strength(.1f)
.requiresCorrectToolForDrops()
.sound(SoundType.IRON)));
public static final RegistryObject<Block> RAW_RUBY_BLOCK = registerBlock("raw_ruby_block",
()-> new Block(BlockBehaviour.Properties.of()
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "raw_ruby_block")))))
.strength(.1f)
.requiresCorrectToolForDrops()));
public static final RegistryObject<Block> RUBY_ORE = registerBlock("ruby_ore",
()-> new DropExperienceBlock(UniformInt.of(2,4),BlockBehaviour.Properties.of()
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_ore")))))
.strength(.4f)
.requiresCorrectToolForDrops()));
public static final RegistryObject<Block> RUBY_DEEPSLATE_ORE = registerBlock("ruby_deepslate_ore",
()-> new DropExperienceBlock(UniformInt.of(3,6),BlockBehaviour.Properties.of()
.setId((ResourceKey.create(Registries.BLOCK, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, "ruby_deepslate_ore")))))
.strength(.4f)
.requiresCorrectToolForDrops()
.sound(SoundType.DEEPSLATE)));
public static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block){
ModItems.ITEMS.register(name,()-> new BlockItem(block.get(), new Item.Properties()
.setId(ResourceKey.create(Registries.ITEM, ResourceLocation.parse(String.format("%s:%s", GamblingPlusMod.MOD_ID, name))))
.useItemDescriptionPrefix()));
}
public static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block){
RegistryObject<T> toReturn = BLOCKS.register(name,block);
registerBlockItem(name, toReturn);
return toReturn;
}
public static void register(BusGroup eventBus) { BLOCKS.register(eventBus); }
}