From 29ce7ddc77ff494d0d47c0907ebe9d853286a67a Mon Sep 17 00:00:00 2001 From: RoBaertschi Date: Mon, 3 Jun 2024 18:49:25 +0200 Subject: [PATCH] create block entity --- .../environmenttech/level/block/ETBlocks.java | 1 + .../level/block/EnvCollectorBlock.java | 3 ++- .../level/block/entity/ETBlockEntities.java | 23 +++++++++++++++++++ .../block/entity/EnvCollectorBlockEntity.java | 7 +++++- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/main/java/robaertschi/environmenttech/level/block/entity/ETBlockEntities.java diff --git a/src/main/java/robaertschi/environmenttech/level/block/ETBlocks.java b/src/main/java/robaertschi/environmenttech/level/block/ETBlocks.java index 58c48b3..00f6537 100644 --- a/src/main/java/robaertschi/environmenttech/level/block/ETBlocks.java +++ b/src/main/java/robaertschi/environmenttech/level/block/ETBlocks.java @@ -14,6 +14,7 @@ public class ETBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(MODID); // Creates a new Block with the id "environmenttech:example_block", combining the namespace and path public static final DeferredBlock EXAMPLE_BLOCK = BLOCKS.registerSimpleBlock("example_block", BlockBehaviour.Properties.of().mapColor(MapColor.STONE)); + public static final DeferredBlock ENV_COLLECTOR_BLOCK = BLOCKS.registerBlock("env_collector", EnvCollectorBlock::new, BlockBehaviour.Properties.of()); public static void init(IEventBus iEventBus) { diff --git a/src/main/java/robaertschi/environmenttech/level/block/EnvCollectorBlock.java b/src/main/java/robaertschi/environmenttech/level/block/EnvCollectorBlock.java index cf24edb..33e3256 100644 --- a/src/main/java/robaertschi/environmenttech/level/block/EnvCollectorBlock.java +++ b/src/main/java/robaertschi/environmenttech/level/block/EnvCollectorBlock.java @@ -11,6 +11,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import robaertschi.environmenttech.level.block.entity.EnvCollectorBlockEntity; import javax.annotation.ParametersAreNonnullByDefault; @@ -36,6 +37,6 @@ public class EnvCollectorBlock extends BaseEntityBlock { @Nullable @Override public BlockEntity newBlockEntity(BlockPos pPos, BlockState pState) { - return null; + return new EnvCollectorBlockEntity(pPos, pState); } } diff --git a/src/main/java/robaertschi/environmenttech/level/block/entity/ETBlockEntities.java b/src/main/java/robaertschi/environmenttech/level/block/entity/ETBlockEntities.java new file mode 100644 index 0000000..fb4250c --- /dev/null +++ b/src/main/java/robaertschi/environmenttech/level/block/entity/ETBlockEntities.java @@ -0,0 +1,23 @@ +package robaertschi.environmenttech.level.block.entity; + +import net.minecraft.core.registries.Registries; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; +import robaertschi.environmenttech.level.block.ETBlocks; + +import static robaertschi.environmenttech.EnvironmentTech.MODID; + +public class ETBlockEntities { + public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, MODID); + + public static final DeferredHolder, BlockEntityType> ENV_COLLECTOR_BLOCK_ENTITY = + BLOCK_ENTITIES.register("env_collector", + () -> BlockEntityType.Builder.of(EnvCollectorBlockEntity::new, + ETBlocks.ENV_COLLECTOR_BLOCK.get()).build(null)); + + public static void init(IEventBus iEventBus) { + BLOCK_ENTITIES.register(iEventBus); + } +} diff --git a/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java b/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java index b045ec4..9355363 100644 --- a/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java +++ b/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java @@ -4,9 +4,14 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.registries.DeferredHolder; public class EnvCollectorBlockEntity extends BlockEntity { - public EnvCollectorBlockEntity(BlockEntityType pType, BlockPos pPos, BlockState pBlockState) { + public EnvCollectorBlockEntity(BlockEntityType pType, BlockPos pPos, BlockState pBlockState) { super(pType, pPos, pBlockState); } + + public EnvCollectorBlockEntity(BlockPos pos, BlockState state) { + this(ETBlockEntities.ENV_COLLECTOR_BLOCK_ENTITY.get(), pos, state); + } }