88import io .github .mikip98 .humilityafm .content .blockentities .cabinetBlock .IlluminatedCabinetBlockEntity ;
99import net .fabricmc .fabric .api .object .builder .v1 .block .entity .FabricBlockEntityTypeBuilder ;
1010import net .minecraft .block .Block ;
11+ import net .minecraft .block .entity .BlockEntity ;
1112import net .minecraft .block .entity .BlockEntityType ;
1213import net .minecraft .registry .Registries ;
1314import net .minecraft .registry .Registry ;
1617import java .util .stream .Stream ;
1718
1819import 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
2221public 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