package com.extendedae_plus.init; import com.extendedae_plus.ExtendedAEPlus; import com.extendedae_plus.content.ae2.MirrorPatternProviderBlock; import com.extendedae_plus.content.controller.NetworkPatternControllerBlock; import com.extendedae_plus.content.matrix.CrafterCorePlusBlock; import com.extendedae_plus.content.matrix.PatternCorePlusBlock; import com.extendedae_plus.content.matrix.SpeedCorePlusBlock; import com.extendedae_plus.content.matrix.UploadCoreBlock; import com.extendedae_plus.content.wireless.LabeledWirelessTransceiverBlock; import com.extendedae_plus.content.wireless.WirelessTransceiverBlock; import com.extendedae_plus.content.crafting.EPlusCraftingUnitType; import appeng.block.crafting.CraftingUnitBlock; import appeng.blockentity.crafting.CraftingBlockEntity; import appeng.core.definitions.AEBlockEntities; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MapColor; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; public final class ModBlocks { private ModBlocks() {} public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(ExtendedAEPlus.MODID); public static final DeferredBlock WIRELESS_TRANSCEIVER = BLOCKS.register( "wireless_transceiver", () -> new WirelessTransceiverBlock( BlockBehaviour.Properties.of() .mapColor(MapColor.METAL) .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); public static final DeferredBlock LABELED_WIRELESS_TRANSCEIVER = BLOCKS.register( "labeled_wireless_transceiver", () -> new LabeledWirelessTransceiverBlock( BlockBehaviour.Properties.of() .mapColor(MapColor.METAL) .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); // AE2 网络模式控制器方块 public static final DeferredBlock NETWORK_PATTERN_CONTROLLER = BLOCKS.register( "network_pattern_controller", () -> new NetworkPatternControllerBlock( BlockBehaviour.Properties.of() .mapColor(MapColor.METAL) .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); // Crafting Accelerators (reuse MAE2 textures/models) public static final DeferredBlock ACCELERATOR_4x = BLOCKS.register( "4x_crafting_accelerator", () -> { return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_4x); } ); public static final DeferredBlock ACCELERATOR_16x = BLOCKS.register( "16x_crafting_accelerator", () -> { return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_16x); } ); public static final DeferredBlock ACCELERATOR_64x = BLOCKS.register( "64x_crafting_accelerator", () -> { return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_64x); } ); public static final DeferredBlock ACCELERATOR_256x = BLOCKS.register( "256x_crafting_accelerator", () -> { return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_256x); } ); public static final DeferredBlock ACCELERATOR_1024x = BLOCKS.register( "1024x_crafting_accelerator", () -> { return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_1024x); } ); // 装配矩阵上传核心方块 public static final DeferredBlock ASSEMBLER_MATRIX_UPLOAD_CORE = BLOCKS.register( "assembler_matrix_upload_core", () -> new UploadCoreBlock( BlockBehaviour.Properties.of() .mapColor(MapColor.METAL) .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); public static final DeferredBlock ASSEMBLER_MATRIX_SPEED_PLUS = BLOCKS.register( "assembler_matrix_speed_plus", () -> new SpeedCorePlusBlock( BlockBehaviour.Properties.of() .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); public static final DeferredBlock ASSEMBLER_MATRIX_CRAFTER_PLUS = BLOCKS.register( "assembler_matrix_crafter_plus", () -> new CrafterCorePlusBlock( BlockBehaviour.Properties.of() .strength(1.5F,6.0F) .requiresCorrectToolForDrops() ) ); public static final DeferredBlock ASSEMBLER_MATRIX_PATTERN_PLUS = BLOCKS.register( "assembler_matrix_pattern_plus", () -> new PatternCorePlusBlock( BlockBehaviour.Properties.of() .strength(1.5F, 6.0F) .requiresCorrectToolForDrops() ) ); public static final DeferredBlock MIRROR_PATTERN_PROVIDER_BLOCK = BLOCKS.register( "mirror_pattern_provider", MirrorPatternProviderBlock::new ); }