ExtendedAE_Plus/src/main/java/com/extendedae_plus/init/ModBlocks.java
2026-03-20 16:01:14 +08:00

135 lines
5.6 KiB
Java

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<Block> WIRELESS_TRANSCEIVER = BLOCKS.register(
"wireless_transceiver",
() -> new WirelessTransceiverBlock(
BlockBehaviour.Properties.of()
.mapColor(MapColor.METAL)
.strength(1.5F, 6.0F)
.requiresCorrectToolForDrops()
)
);
public static final DeferredBlock<Block> 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<Block> 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<CraftingUnitBlock> ACCELERATOR_4x = BLOCKS.register(
"4x_crafting_accelerator",
() -> {
return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_4x);
}
);
public static final DeferredBlock<CraftingUnitBlock> ACCELERATOR_16x = BLOCKS.register(
"16x_crafting_accelerator",
() -> {
return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_16x);
}
);
public static final DeferredBlock<CraftingUnitBlock> ACCELERATOR_64x = BLOCKS.register(
"64x_crafting_accelerator",
() -> {
return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_64x);
}
);
public static final DeferredBlock<CraftingUnitBlock> ACCELERATOR_256x = BLOCKS.register(
"256x_crafting_accelerator",
() -> {
return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_256x);
}
);
public static final DeferredBlock<CraftingUnitBlock> ACCELERATOR_1024x = BLOCKS.register(
"1024x_crafting_accelerator",
() -> {
return new CraftingUnitBlock(EPlusCraftingUnitType.ACCELERATOR_1024x);
}
);
// 装配矩阵上传核心方块
public static final DeferredBlock<UploadCoreBlock> 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<SpeedCorePlusBlock> 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<CrafterCorePlusBlock> 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<PatternCorePlusBlock> 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<MirrorPatternProviderBlock> MIRROR_PATTERN_PROVIDER_BLOCK = BLOCKS.register(
"mirror_pattern_provider",
MirrorPatternProviderBlock::new
);
}