67 lines
3.6 KiB
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); }
|
|
} |