11package top .ctnstudio .futurefood .core .init ;
22
3- import club .someoneice .json .Pair ;
43import net .minecraft .core .registries .BuiltInRegistries ;
54import net .minecraft .core .registries .Registries ;
6- import net .minecraft .resources .ResourceLocation ;
75import net .minecraft .world .level .block .entity .BlockEntityType ;
86import net .minecraft .world .level .block .entity .BlockEntityType .BlockEntitySupplier ;
9- import net .neoforged .neoforge .registries .RegisterEvent ;
107import top .ctnstudio .futurefood .common .block .tile .QedBlockEntity ;
118import top .ctnstudio .futurefood .common .block .tile .QerBlockEntity ;
129import top .ctnstudio .futurefood .core .FutureFood ;
1310
1411import javax .annotation .Nonnull ;
15- import java .util .Stack ;
1612import java .util .function .Supplier ;
1713
18- // TODO - 迁移到新的注册器。
19- public final class ModTileEntity {
20- private static final Stack <Pair <ResourceLocation , Supplier <BlockEntityType <?>>>> data =
21- new Stack <>();
14+ public final class ModTileEntity extends AbstractObjectRegister <BlockEntityType <?>> {
15+ public static final ModTileEntity INSTANCE = new ModTileEntity ();
2216
2317 public static final Supplier <BlockEntityType <?>> QED = register ("quantum_energy_diffuser" ,
2418 QedBlockEntity ::new );
2519 public static final Supplier <BlockEntityType <?>> QER = register ("quantum_energy_receiver" ,
2620 QerBlockEntity ::new );
2721
2822 private ModTileEntity () {
23+ super (BuiltInRegistries .BLOCK_ENTITY_TYPE , Registries .BLOCK_ENTITY_TYPE );
2924 }
3025
3126 @ Nonnull
@@ -35,18 +30,6 @@ private static Supplier<BlockEntityType<?>> register(final String name,
3530 final var block = BuiltInRegistries .BLOCK .get (FutureFood .modRL (name ));
3631 return BlockEntityType .Builder .of (blockEntity , block ).build (null );
3732 };
38- return data .push (new Pair <>(FutureFood .modRL (name ), dat )).getValue ();
39- }
40-
41- public static void init (final RegisterEvent event ) {
42- if (event .getRegistry () != BuiltInRegistries .BLOCK_ENTITY_TYPE ) {
43- return ;
44- }
45-
46- while (!data .isEmpty ()) {
47- final var pair = data .pop ();
48- event .register (Registries .BLOCK_ENTITY_TYPE , pair .getKey (),
49- pair .getValue ());
50- }
33+ return INSTANCE .register (FutureFood .modRL (name ), dat );
5134 }
5235}
0 commit comments