Skip to content

Commit 935253a

Browse files
committed
BlockEntityRegistry code improvements + fixed the test floor cabinets lacking the block entity
1 parent 846efaa commit 935253a

1 file changed

Lines changed: 33 additions & 35 deletions

File tree

src/main/java/io/github/mikip98/humilityafm/registries/BlockEntityRegistry.java

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.github.mikip98.humilityafm.content.blockentities.cabinetBlock.IlluminatedCabinetBlockEntity;
99
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
1010
import net.minecraft.block.Block;
11+
import net.minecraft.block.entity.BlockEntity;
1112
import net.minecraft.block.entity.BlockEntityType;
1213
import net.minecraft.registry.Registries;
1314
import net.minecraft.registry.Registry;
@@ -16,8 +17,6 @@
1617
import java.util.stream.Stream;
1718

1819
import static io.github.mikip98.humilityafm.HumilityAFM.getId;
19-
import static io.github.mikip98.humilityafm.registries.BlockRegistry.CABINET_BLOCK;
20-
import static io.github.mikip98.humilityafm.registries.BlockRegistry.ILLUMINATED_CABINET_BLOCK;
2120

2221
public class BlockEntityRegistry {
2322
// Cabinet block entity
@@ -30,56 +29,55 @@ public class BlockEntityRegistry {
3029

3130
public static void register() {
3231
//Register cabinet block entity
33-
CABINET_BLOCK_ENTITY = Registry.register(
34-
Registries.BLOCK_ENTITY_TYPE,
35-
getId("cabinet_block_entity"),
36-
FabricBlockEntityTypeBuilder.create(
37-
CabinetBlockEntity::new,
38-
concat(CABINET_BLOCK, BlockRegistry.WALL_CABINET_BLOCK_VARIANTS)
39-
).build()
32+
CABINET_BLOCK_ENTITY = register(
33+
"cabinet_block_entity",
34+
CabinetBlockEntity::new,
35+
concat(BlockRegistry.CABINET_BLOCK, BlockRegistry.WALL_CABINET_BLOCK_VARIANTS)
4036
);
4137
//Register illuminated cabinet block entity
42-
ILLUMINATED_CABINET_BLOCK_ENTITY = Registry.register(
43-
Registries.BLOCK_ENTITY_TYPE,
44-
getId("illuminated_cabinet_block_entity"),
45-
FabricBlockEntityTypeBuilder.create(
46-
IlluminatedCabinetBlockEntity::new,
47-
concat(ILLUMINATED_CABINET_BLOCK, BlockRegistry.WALL_ILLUMINATED_CABINET_BLOCK_VARIANTS)
48-
).build()
38+
ILLUMINATED_CABINET_BLOCK_ENTITY = register(
39+
"illuminated_cabinet_block_entity",
40+
IlluminatedCabinetBlockEntity::new,
41+
concat(BlockRegistry.ILLUMINATED_CABINET_BLOCK, BlockRegistry.WALL_ILLUMINATED_CABINET_BLOCK_VARIANTS)
4942
);
5043
//Register floor cabinet block entity
51-
FLOOR_CABINET_BLOCK_ENTITY = Registry.register(
52-
Registries.BLOCK_ENTITY_TYPE,
53-
getId("floor_cabinet_block_entity"),
54-
FabricBlockEntityTypeBuilder.create(
55-
FloorCabinetBlockEntity::new,
56-
BlockRegistry.FLOOR_CABINET_BLOCK_VARIANTS
57-
).build()
44+
FLOOR_CABINET_BLOCK_ENTITY = register(
45+
"floor_cabinet_block_entity",
46+
FloorCabinetBlockEntity::new,
47+
concat(BlockRegistry.FLOOR_CABINET_BLOCK, BlockRegistry.FLOOR_CABINET_BLOCK_VARIANTS)
5848
);
5949
//Register floor illuminated cabinet block entity
60-
FLOOR_ILLUMINATED_CABINET_BLOCK_ENTITY = Registry.register(
61-
Registries.BLOCK_ENTITY_TYPE,
62-
getId("floor_illuminated_cabinet_block_entity"),
63-
FabricBlockEntityTypeBuilder.create(
64-
FloorIlluminatedCabinetBlockEntity::new,
65-
BlockRegistry.FLOOR_ILLUMINATED_CABINET_BLOCK_VARIANTS
66-
).build()
50+
FLOOR_ILLUMINATED_CABINET_BLOCK_ENTITY = register(
51+
"floor_illuminated_cabinet_block_entity",
52+
FloorIlluminatedCabinetBlockEntity::new,
53+
concat(BlockRegistry.FLOOR_ILLUMINATED_CABINET_BLOCK, BlockRegistry.FLOOR_ILLUMINATED_CABINET_BLOCK_VARIANTS)
6754
);
6855

6956
//Register LED block entity
7057
if (ModConfig.getEnableColouredFeatureSetBeta()) {
71-
LIGHT_STRIP_BLOCK_ENTITY = Registry.register(
72-
Registries.BLOCK_ENTITY_TYPE,
73-
getId("light_strip_block_entity"),
74-
FabricBlockEntityTypeBuilder.create(LightStripBlockEntity::new, BlockRegistry.LIGHT_STRIP_VARIANTS).build()
58+
LIGHT_STRIP_BLOCK_ENTITY = register(
59+
"light_strip_block_entity",
60+
LightStripBlockEntity::new,
61+
BlockRegistry.LIGHT_STRIP_VARIANTS
7562
);
7663
}
7764
}
7865

79-
protected static Block[] concat(Block block, Block[] blocks) {
66+
protected static Block[] concat(Block block, Block... blocks) {
8067
return Stream.concat(
8168
Stream.of(block),
8269
Arrays.stream(blocks)
8370
).toArray(Block[]::new);
8471
}
72+
73+
protected static <T extends BlockEntity> BlockEntityType<T> register(
74+
String name,
75+
FabricBlockEntityTypeBuilder.Factory<? extends T> entityFactory,
76+
Block... blocks
77+
) {
78+
return Registry.register(
79+
Registries.BLOCK_ENTITY_TYPE, getId(name),
80+
FabricBlockEntityTypeBuilder.<T>create(entityFactory, blocks).build()
81+
);
82+
}
8583
}

0 commit comments

Comments
 (0)