1- package me .alexdevs .classicPeripherals . registry ;
1+ package me .alexdevs .classicPeripherals ;
22
33import com .mojang .serialization .Codec ;
44import dan200 .computercraft .api .ComputerCraftAPI ;
55import dan200 .computercraft .api .component .ComputerComponents ;
66import dan200 .computercraft .api .upgrades .UpgradeType ;
7- import me .alexdevs .classicPeripherals .ClassicPeripherals ;
8- import me .alexdevs .classicPeripherals .platform .Registrar ;
9- import me .alexdevs .classicPeripherals .platform .RegistrySupplier ;
10- import me .alexdevs .classicPeripherals .platform .Services ;
11- import me .alexdevs .classicPeripherals .platform .UpgradeRegistrar ;
12- import me .alexdevs .classicPeripherals .registry .block .CryptographicAcceleratorBlock ;
13- import me .alexdevs .classicPeripherals .registry .block .NfcReaderBlock ;
14- import me .alexdevs .classicPeripherals .registry .block .RfidScannerBlock ;
15- import me .alexdevs .classicPeripherals .registry .block .ScannerBlock ;
16- import me .alexdevs .classicPeripherals .registry .block .antenna .AntennaBlock ;
17- import me .alexdevs .classicPeripherals .registry .block .tower .TowerBaseBlock ;
18- import me .alexdevs .classicPeripherals .registry .block .tower .TowerHeadBlock ;
19- import me .alexdevs .classicPeripherals .registry .block .tower .TowerSegmentBlock ;
20- import me .alexdevs .classicPeripherals .registry .item .NfcCardItem ;
21- import me .alexdevs .classicPeripherals .registry .item .RfidBadgeItem ;
22- import me .alexdevs .classicPeripherals .registry .luaApi .PocketNfcAPI ;
23- import me .alexdevs .classicPeripherals .registry .recipe .NfcCardRecipe ;
24- import me .alexdevs .classicPeripherals .registry .recipe .RfidBadgeRecipe ;
25- import me .alexdevs .classicPeripherals .registry .screen .ScannerMenu ;
26- import me .alexdevs .classicPeripherals .registry .tiles .*;
27- import me .alexdevs .classicPeripherals .registry .upgrades .crypto .PocketCrypto ;
28- import me .alexdevs .classicPeripherals .registry .upgrades .crypto .TurtleCrypto ;
29- import me .alexdevs .classicPeripherals .registry .upgrades .radio .PocketRadio ;
30- import me .alexdevs .classicPeripherals .registry .upgrades .radio .TurtleRadio ;
7+ import me .alexdevs .classicPeripherals .platform .*;
8+ import me .alexdevs .classicPeripherals .peripherals .crypto .CryptographicAcceleratorBlock ;
9+ import me .alexdevs .classicPeripherals .peripherals .crypto .CryptographicAcceleratorBlockEntity ;
10+ import me .alexdevs .classicPeripherals .peripherals .nfc .NfcReaderBlock ;
11+ import me .alexdevs .classicPeripherals .peripherals .radio .antenna .RadioAntennaBlockEntity ;
12+ import me .alexdevs .classicPeripherals .peripherals .radio .tower .RadioTowerControllerBlockEntity ;
13+ import me .alexdevs .classicPeripherals .peripherals .rfid .RfidScannerBlock ;
14+ import me .alexdevs .classicPeripherals .peripherals .scanner .ScannerBlock ;
15+ import me .alexdevs .classicPeripherals .peripherals .radio .antenna .RadioAntennaBlock ;
16+ import me .alexdevs .classicPeripherals .peripherals .radio .tower .RadioTowerControllerBlock ;
17+ import me .alexdevs .classicPeripherals .peripherals .radio .tower .RadioTowerAntennaBlock ;
18+ import me .alexdevs .classicPeripherals .peripherals .radio .tower .RadioTowerPoleBlock ;
19+ import me .alexdevs .classicPeripherals .peripherals .nfc .item .NfcCardItem ;
20+ import me .alexdevs .classicPeripherals .peripherals .rfid .item .RfidBadgeItem ;
21+ import me .alexdevs .classicPeripherals .peripherals .nfc .luaApi .PocketNfcAPI ;
22+ import me .alexdevs .classicPeripherals .peripherals .nfc .NfcReaderBlockEntity ;
23+ import me .alexdevs .classicPeripherals .peripherals .rfid .RfidScannerBlockEntity ;
24+ import me .alexdevs .classicPeripherals .peripherals .nfc .item .NfcCardRecipe ;
25+ import me .alexdevs .classicPeripherals .peripherals .rfid .item .RfidBadgeRecipe ;
26+ import me .alexdevs .classicPeripherals .peripherals .scanner .ScannerBlockEntity ;
27+ import me .alexdevs .classicPeripherals .peripherals .scanner .screen .ScannerMenu ;
28+ import me .alexdevs .classicPeripherals .peripherals .crypto .upgrades .PocketCrypto ;
29+ import me .alexdevs .classicPeripherals .peripherals .crypto .upgrades .TurtleCrypto ;
30+ import me .alexdevs .classicPeripherals .peripherals .radio .upgrades .PocketRadio ;
31+ import me .alexdevs .classicPeripherals .peripherals .radio .upgrades .TurtleRadio ;
3132import net .minecraft .core .BlockPos ;
33+ import net .minecraft .core .Direction ;
3234import net .minecraft .core .UUIDUtil ;
3335import net .minecraft .core .component .DataComponentType ;
3436import net .minecraft .core .registries .Registries ;
@@ -59,7 +61,7 @@ public class ModRegistry {
5961 private static final Registrar <DataComponentType <?>> COMPONENTS = Services .REGISTRATION .create (Registries .DATA_COMPONENT_TYPE , ClassicPeripherals .MOD_ID );
6062
6163 public static class Blocks {
62- public static final RegistrySupplier <TowerBaseBlock > TOWER_BASE = register ("tower_base" , () -> new TowerBaseBlock (BlockBehaviour .Properties .of ()
64+ public static final RegistrySupplier <RadioTowerControllerBlock > TOWER_BASE = register ("tower_base" , () -> new RadioTowerControllerBlock (BlockBehaviour .Properties .of ()
6365 .strength (2.0F )
6466 .mapColor (MapColor .STONE )
6567 .noOcclusion ()
@@ -68,7 +70,7 @@ public static class Blocks {
6870 .isSuffocating (Blocks ::never )
6971 .isViewBlocking (Blocks ::never )
7072 ));
71- public static final RegistrySupplier <TowerSegmentBlock > TOWER_SEGMENT = register ("tower_segment" , () -> new TowerSegmentBlock (BlockBehaviour .Properties .of ()
73+ public static final RegistrySupplier <RadioTowerPoleBlock > TOWER_SEGMENT = register ("tower_segment" , () -> new RadioTowerPoleBlock (BlockBehaviour .Properties .of ()
7274 .strength (2.0F )
7375 .mapColor (MapColor .STONE )
7476 .noOcclusion ()
@@ -77,7 +79,7 @@ public static class Blocks {
7779 .isSuffocating (Blocks ::never )
7880 .isViewBlocking (Blocks ::never )
7981 ));
80- public static final RegistrySupplier <TowerHeadBlock > TOWER_HEAD = register ("tower_head" , () -> new TowerHeadBlock (BlockBehaviour .Properties .of ()
82+ public static final RegistrySupplier <RadioTowerAntennaBlock > TOWER_HEAD = register ("tower_head" , () -> new RadioTowerAntennaBlock (BlockBehaviour .Properties .of ()
8183 .strength (2.0F )
8284 .mapColor (MapColor .GOLD )
8385 .noOcclusion ()
@@ -86,7 +88,7 @@ public static class Blocks {
8688 .isSuffocating (Blocks ::never )
8789 .isViewBlocking (Blocks ::never )
8890 ));
89- public static final RegistrySupplier <AntennaBlock > ANTENNA = register ("antenna" , () -> new AntennaBlock (BlockBehaviour .Properties .of ()
91+ public static final RegistrySupplier <RadioAntennaBlock > ANTENNA = register ("antenna" , () -> new RadioAntennaBlock (BlockBehaviour .Properties .of ()
9092 .strength (2.0F )
9193 .mapColor (MapColor .GOLD )
9294 .noOcclusion ()
@@ -155,10 +157,10 @@ static void initialize() {
155157 }
156158
157159 public static class TileEntities {
158- public static final RegistrySupplier <BlockEntityType <TowerBlockEntity >> TOWER_BASE = register ("tower_base" ,
159- () -> BlockEntityType .Builder .of (TowerBlockEntity ::new , Blocks .TOWER_BASE .get ()).build (null ));
160- public static final RegistrySupplier <BlockEntityType <AntennaBlockEntity >> ANTENNA = register ("antenna" ,
161- () -> BlockEntityType .Builder .of (AntennaBlockEntity ::new , Blocks .ANTENNA .get ()).build (null ));
160+ public static final RegistrySupplier <BlockEntityType <RadioTowerControllerBlockEntity >> TOWER_BASE = register ("tower_base" ,
161+ () -> BlockEntityType .Builder .of (RadioTowerControllerBlockEntity ::new , Blocks .TOWER_BASE .get ()).build (null ));
162+ public static final RegistrySupplier <BlockEntityType <RadioAntennaBlockEntity >> ANTENNA = register ("antenna" ,
163+ () -> BlockEntityType .Builder .of (RadioAntennaBlockEntity ::new , Blocks .ANTENNA .get ()).build (null ));
162164 public static final RegistrySupplier <BlockEntityType <NfcReaderBlockEntity >> NFC_READER = register ("nfc_reader" ,
163165 () -> BlockEntityType .Builder .of (NfcReaderBlockEntity ::new , Blocks .NFC_READER .get ()).build (null ));
164166 public static final RegistrySupplier <BlockEntityType <RfidScannerBlockEntity >> RFID_SCANNER = register ("rfid_scanner" ,
@@ -177,7 +179,13 @@ static void initialize() {
177179 }
178180
179181 public static class Peripherals {
180- static void initialize () {
182+ public static void register (PeripheralRegistrar registrar ) {
183+ registrar .register (TileEntities .TOWER_BASE .get (), (block , dir ) -> dir == Direction .DOWN ? block .peripheral () : null );
184+ registrar .register (TileEntities .ANTENNA .get (), (block , dir ) -> dir == Direction .DOWN ? block .peripheral () : null );
185+ registrar .register (TileEntities .NFC_READER .get (), (block , dir ) -> block .peripheral ());
186+ registrar .register (TileEntities .RFID_SCANNER .get (), RfidScannerBlockEntity ::peripheral );
187+ registrar .register (TileEntities .CRYPTOGRAPHIC_ACCELERATOR .get (), (block , dir ) -> block .peripheral ());
188+ registrar .register (TileEntities .SCANNER .get (), (block , dir ) -> block .peripheral ());
181189 }
182190 }
183191
@@ -253,7 +261,6 @@ public static void initialize() {
253261 Blocks .initialize ();
254262 Items .initialize ();
255263 TileEntities .initialize ();
256- Peripherals .initialize ();
257264 Upgrades .initialize ();
258265 LuaApis .initialize ();
259266 Recipes .initialize ();
0 commit comments