Загрузка данных


package baro.craft.blocks;

import baro.craft.Barocraft;
import baro.craft.blockentity.SonarBlockEntity;
import baro.craft.blockentity.MonitorBlockEntity;
import baro.craft.blocks.MonitorBlock;
import baro.craft.blocks.SonarBlock;
import net.minecraft.core.registries.Registries;
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.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.DeferredHolder;

public class ModBlocks {
    // Регистрируем блоки
    public static final DeferredBlock<SonarBlock> SONAR_BLOCK = Barocraft.BLOCKS.register("sonar_block",
            () -> new SonarBlock(BlockBehaviour.Properties.of().requiresCorrectToolForDrops().strength(3.5F)));

    public static final DeferredBlock<MonitorBlock> MONITOR_BLOCK = Barocraft.BLOCKS.register("monitor_block",
            () -> new MonitorBlock(BlockBehaviour.Properties.of().requiresCorrectToolForDrops().strength(3.5F)));

    public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<SonarBlockEntity>> SONAR_BE =
            Barocraft.BLOCK_ENTITIES.register("sonar_be",
                    () -> BlockEntityType.Builder.of((pos, state) -> new SonarBlockEntity(SONAR_BE.get(), pos, state), SONAR_BLOCK.get()).build(null));

    public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<MonitorBlockEntity>> MONITOR_BE =
            Barocraft.BLOCK_ENTITIES.register("monitor_be",
                    () -> BlockEntityType.Builder.of((pos, state) -> new MonitorBlockEntity(MONITOR_BE.get(), pos, state), MONITOR_BLOCK.get()).build(null));

    public static void register() {
        // Регистрируем предметы для блоков
        Barocraft.ITEMS.register("sonar_block", () -> new BlockItem(SONAR_BLOCK.get(), new Item.Properties()));
        Barocraft.ITEMS.register("monitor_block", () -> new BlockItem(MONITOR_BLOCK.get(), new Item.Properties()));
    }
}