注册镜像样板供应器

This commit is contained in:
GaLi 2026-03-20 16:01:14 +08:00
parent 959669eb1c
commit e438021e84
14 changed files with 94 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import appeng.items.parts.PartModelsHelper;
import com.extendedae_plus.api.ids.EAPComponents;
import com.extendedae_plus.api.storage.InfinityBigIntegerCellHandler;
import com.extendedae_plus.config.ModConfigs;
import com.extendedae_plus.content.ae2.MirrorPatternProviderBlockEntity;
import com.extendedae_plus.content.matrix.CrafterCorePlusBlockEntity;
import com.extendedae_plus.content.matrix.PatternCorePlusBlockEntity;
import com.extendedae_plus.content.matrix.SpeedCorePlusBlockEntity;
@ -140,6 +141,13 @@ public class ExtendedAEPlus {
null
);
((AEBaseEntityBlock) ModBlocks.MIRROR_PATTERN_PROVIDER_BLOCK.get()).setBlockEntity(
MirrorPatternProviderBlockEntity.class,
ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(),
null,
null
);
LOGGER.info("Bound UploadCoreBlockEntity to assembler matrix upload core block.");
} catch (Throwable t) {
LOGGER.error("Failed to bind block entities: {}", t.toString());

View File

@ -0,0 +1,10 @@
package com.extendedae_plus.content.ae2;
import appeng.block.crafting.PatternProviderBlock;
public class MirrorPatternProviderBlock extends PatternProviderBlock {
public MirrorPatternProviderBlock() {
super();
}
}

View File

@ -0,0 +1,12 @@
package com.extendedae_plus.content.ae2;
import appeng.blockentity.crafting.PatternProviderBlockEntity;
import com.extendedae_plus.init.ModBlockEntities;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.block.state.BlockState;
public class MirrorPatternProviderBlockEntity extends PatternProviderBlockEntity {
public MirrorPatternProviderBlockEntity(BlockPos pos, BlockState blockState) {
super(ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(), pos, blockState);
}
}

View File

@ -1,6 +1,7 @@
package com.extendedae_plus.init;
import com.extendedae_plus.ExtendedAEPlus;
import com.extendedae_plus.content.ae2.MirrorPatternProviderBlockEntity;
import com.extendedae_plus.content.matrix.CrafterCorePlusBlockEntity;
import com.extendedae_plus.content.matrix.PatternCorePlusBlockEntity;
import com.extendedae_plus.content.matrix.SpeedCorePlusBlockEntity;
@ -77,4 +78,10 @@ public final class ModBlockEntities {
BLOCK_ENTITY_TYPES.register("assembler_matrix_pattern_plus",
()-> BlockEntityType.Builder.of(PatternCorePlusBlockEntity::new,
ModBlocks.ASSEMBLER_MATRIX_PATTERN_PLUS.get()).build(null));
//镜像样板供应器
public static final DeferredHolder<BlockEntityType<?>,BlockEntityType<MirrorPatternProviderBlockEntity>> MIRROR_PATTERN_PROVIDER_BE=
BLOCK_ENTITY_TYPES.register("mirror_pattern_provider",
()-> BlockEntityType.Builder.of(MirrorPatternProviderBlockEntity::new,
ModBlocks.MIRROR_PATTERN_PROVIDER_BLOCK.get()).build(null));
}

View File

@ -1,6 +1,7 @@
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;
@ -125,4 +126,9 @@ public final class ModBlocks {
.requiresCorrectToolForDrops()
)
);
public static final DeferredBlock<MirrorPatternProviderBlock> MIRROR_PATTERN_PROVIDER_BLOCK = BLOCKS.register(
"mirror_pattern_provider",
MirrorPatternProviderBlock::new
);
}

View File

@ -35,6 +35,18 @@ public final class ModCapabilities {
(be, ctx) -> (IInWorldGridNodeHost) be
);
event.registerBlockEntity(
AECapabilities.IN_WORLD_GRID_NODE_HOST,
ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(),
(be, ctx) -> (IInWorldGridNodeHost) be
);
event.registerBlockEntity(
AECapabilities.GENERIC_INTERNAL_INV,
ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(),
(be, ctx) -> be.getLogic().getReturnInv()
);
// 并行处理单元CraftingUnitBlock -> CraftingBlockEntity 实现了 IInWorldGridNodeHost
// 未注册该能力时AE 电缆通过 GridHelper.getNodeHost(...) 无法发现节点导致节点不入网
// 方块虽然能成型并提供并行度 getMainNode().isOnline() false从而显示设备离线

View File

@ -34,7 +34,8 @@ public final class ModCreativeTabs {
ModItems.INFINITY_BIGINTEGER_CELL_ITEM.get().getDefaultInstance(),
ModItems.ASSEMBLER_MATRIX_SPEED_PLUS.get().getDefaultInstance(),
ModItems.ASSEMBLER_MATRIX_CRAFTER_PLUS.get().getDefaultInstance(),
ModItems.ASSEMBLER_MATRIX_PATTERN_PLUS.get().getDefaultInstance()
ModItems.ASSEMBLER_MATRIX_PATTERN_PLUS.get().getDefaultInstance(),
ModItems.MIRROR_PATTERN_PROVIDER.get().getDefaultInstance()
).forEach(output::accept);
// 放入四个预设的 stacksx2,x4,x8,x16使用 ModItems 工厂创建

View File

@ -80,6 +80,10 @@ public final class ModItems {
"assembler_matrix_pattern_plus",
() -> new BlockItem(ModBlocks.ASSEMBLER_MATRIX_PATTERN_PLUS.get(), new Item.Properties())
);
public static final DeferredItem<Item> MIRROR_PATTERN_PROVIDER = ITEMS.register(
"mirror_pattern_provider",
() -> new BlockItem(ModBlocks.MIRROR_PATTERN_PROVIDER_BLOCK.get(), new Item.Properties())
);
static final DeferredItem<Item> NETWORK_PATTERN_CONTROLLER = ITEMS.register(
"network_pattern_controller",
() -> new BlockItem(ModBlocks.NETWORK_PATTERN_CONTROLLER.get(), new Item.Properties())

View File

@ -0,0 +1,9 @@
{
"multipart": [
{
"apply": {
"model": "extendedae_plus:block/mirror_pattern_provider"
}
}
]
}

View File

@ -17,6 +17,7 @@
"item.extendedae_plus.256x_crafting_accelerator": "256x Crafting Accelerator",
"item.extendedae_plus.1024x_crafting_accelerator": "1024x Crafting Accelerator",
"item.extendedae_plus.network_pattern_controller": "Pattern Provider Status Controller",
"item.extendedae_plus.mirror_pattern_provider": "Mirror Pattern Provider",
"item.extendedae_plus.assembler_matrix_upload_core": "Assembly Matrix Upload Core",
"item.extendedae_plus.channel_card": "Channel Card",
"item.extendedae_plus.virtual_crafting_card": "Virtual Crafting Card",
@ -46,6 +47,7 @@
"block.extendedae_plus.256x_crafting_accelerator": "256x Crafting Accelerator",
"block.extendedae_plus.1024x_crafting_accelerator": "1024x Crafting Accelerator",
"block.extendedae_plus.network_pattern_controller": "Pattern Provider Status Controller",
"block.extendedae_plus.mirror_pattern_provider": "Mirror Pattern Provider",
"block.extendedae_plus.assembler_matrix_upload_core": "Assembly Matrix Upload Core",
"block.extendedae_plus.assembler_matrix_speed_plus": "Assembler Matrix Speed Core Plus",
"block.extendedae_plus.assembler_matrix_crafter_plus": "Assembler Matrix Crafter Core Plus",

View File

@ -17,6 +17,7 @@
"item.extendedae_plus.256x_crafting_accelerator": "256x并行处理单元",
"item.extendedae_plus.1024x_crafting_accelerator": "1024x并行处理单元",
"item.extendedae_plus.network_pattern_controller": "样板供应器状态控制器",
"item.extendedae_plus.mirror_pattern_provider": "镜像样板供应器",
"item.extendedae_plus.assembler_matrix_upload_core": "装配矩阵上传核心",
"item.extendedae_plus.channel_card": "频道卡",
"item.extendedae_plus.virtual_crafting_card": "虚拟合成卡",
@ -46,6 +47,7 @@
"block.extendedae_plus.256x_crafting_accelerator": "256x并行处理单元",
"block.extendedae_plus.1024x_crafting_accelerator": "1024x并行处理单元",
"block.extendedae_plus.network_pattern_controller": "样板供应器状态控制器",
"block.extendedae_plus.mirror_pattern_provider": "镜像样板供应器",
"block.extendedae_plus.assembler_matrix_upload_core": "装配矩阵上传核心",
"block.extendedae_plus.assembler_matrix_speed_plus": "超级装配矩阵速度核心",
"block.extendedae_plus.assembler_matrix_crafter_plus": "超级装配矩阵合成核心",

View File

@ -0,0 +1,3 @@
{
"parent": "ae2:block/pattern_provider_oriented"
}

View File

@ -0,0 +1,3 @@
{
"parent": "extendedae_plus:block/mirror_pattern_provider"
}

View File

@ -0,0 +1,14 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{ "type": "minecraft:item", "name": "extendedae_plus:mirror_pattern_provider" }
],
"conditions": [
{ "condition": "minecraft:survives_explosion" }
]
}
]
}