Skip to content

Commit 696b5dd

Browse files
committed
Refactor project structure to group by feature instead of element types
1 parent 65ad2e0 commit 696b5dd

56 files changed

Lines changed: 245 additions & 281 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

common/src/main/java/me/alexdevs/classicPeripherals/ClassicPeripherals.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package me.alexdevs.classicPeripherals;
22

33
import me.alexdevs.classicPeripherals.core.StateSaverAndLoader;
4-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
5-
import me.alexdevs.classicPeripherals.registry.luaApi.PocketNfcAccess;
4+
import me.alexdevs.classicPeripherals.peripherals.nfc.luaApi.PocketNfcAccess;
65
import me.alexdevs.classicPeripherals.platform.Registrar;
76
import me.alexdevs.classicPeripherals.platform.RegistrySupplier;
87
import me.alexdevs.classicPeripherals.platform.Services;

common/src/main/java/me/alexdevs/classicPeripherals/registry/ModRegistry.java renamed to common/src/main/java/me/alexdevs/classicPeripherals/ModRegistry.java

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,36 @@
1-
package me.alexdevs.classicPeripherals.registry;
1+
package me.alexdevs.classicPeripherals;
22

33
import com.mojang.serialization.Codec;
44
import dan200.computercraft.api.ComputerCraftAPI;
55
import dan200.computercraft.api.component.ComputerComponents;
66
import 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;
3132
import net.minecraft.core.BlockPos;
33+
import net.minecraft.core.Direction;
3234
import net.minecraft.core.UUIDUtil;
3335
import net.minecraft.core.component.DataComponentType;
3436
import 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();

common/src/main/java/me/alexdevs/classicPeripherals/core/RadioNetwork.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import me.alexdevs.classicPeripherals.ClassicPeripherals;
44
import me.alexdevs.classicPeripherals.integrations.SableIntegration;
5-
import me.alexdevs.classicPeripherals.registry.peripherals.AbstractRadioPeripheral;
5+
import me.alexdevs.classicPeripherals.peripherals.radio.AbstractRadioPeripheral;
66

77
import java.util.*;
88
import java.util.concurrent.ConcurrentHashMap;

common/src/main/java/me/alexdevs/classicPeripherals/core/StateSaverAndLoader.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.alexdevs.classicPeripherals.core;
22

33
import me.alexdevs.classicPeripherals.ClassicPeripherals;
4+
import me.alexdevs.classicPeripherals.core.dataHolder.DataHolderHandler;
45
import net.minecraft.core.HolderLookup;
56
import net.minecraft.nbt.CompoundTag;
67
import net.minecraft.server.MinecraftServer;
7-
import net.minecraft.server.RegistryLayer;
88
import net.minecraft.world.level.Level;
99
import net.minecraft.world.level.saveddata.SavedData;
1010

@@ -21,7 +21,7 @@ public class StateSaverAndLoader extends SavedData {
2121
null
2222
);
2323

24-
private Map<UUID, ItemDataHandler.ItemData> data = new ConcurrentHashMap<>();
24+
private Map<UUID, DataHolderHandler.ItemData> data = new ConcurrentHashMap<>();
2525

2626
public static StateSaverAndLoader loadData(CompoundTag nbt, HolderLookup.Provider registryLookup) {
2727
var state = new StateSaverAndLoader();
@@ -38,7 +38,7 @@ public static StateSaverAndLoader loadData(CompoundTag nbt, HolderLookup.Provide
3838
privateKey = null;
3939
}
4040

41-
state.data.put(dataId, new ItemDataHandler.ItemData(data, privateKey));
41+
state.data.put(dataId, new DataHolderHandler.ItemData(data, privateKey));
4242
}
4343

4444
return state;
@@ -80,11 +80,11 @@ public CompoundTag save(CompoundTag nbt, HolderLookup.Provider registries) {
8080

8181
return nbt;
8282
}
83-
public Optional<ItemDataHandler.ItemData> getData(UUID id) {
83+
public Optional<DataHolderHandler.ItemData> getData(UUID id) {
8484
return Optional.ofNullable(data.getOrDefault(id, null));
8585
}
8686

87-
public void setData(UUID id, ItemDataHandler.ItemData data) {
87+
public void setData(UUID id, DataHolderHandler.ItemData data) {
8888
this.data.put(id, data);
8989
this.setDirty(true);
9090
}

common/src/main/java/me/alexdevs/classicPeripherals/core/ItemDataHandler.java renamed to common/src/main/java/me/alexdevs/classicPeripherals/core/dataHolder/DataHolderHandler.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package me.alexdevs.classicPeripherals.core;
1+
package me.alexdevs.classicPeripherals.core.dataHolder;
22

33
import me.alexdevs.classicPeripherals.ClassicPeripherals;
4-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
5-
import me.alexdevs.classicPeripherals.registry.item.IDataItem;
4+
import me.alexdevs.classicPeripherals.core.Crypto;
5+
import me.alexdevs.classicPeripherals.ModRegistry;
66
import net.minecraft.core.component.DataComponents;
77
import net.minecraft.nbt.Tag;
88
import net.minecraft.network.chat.Component;
@@ -12,7 +12,7 @@
1212
import java.util.Optional;
1313
import java.util.UUID;
1414

15-
public class ItemDataHandler {
15+
public class DataHolderHandler {
1616
private static ItemData getData(UUID id) {
1717
var state = ClassicPeripherals.getState();
1818
if (state == null) {
@@ -94,7 +94,7 @@ public static int getColor(ItemStack stack) {
9494
}
9595

9696
public static Optional<String> getPrivateKey(ItemStack stack) {
97-
if (stack.getItem() instanceof IDataItem dataItem) {
97+
if (stack.getItem() instanceof IDataHolder dataItem) {
9898
if (!dataItem.supportsPrivateKey()) {
9999
return Optional.empty();
100100
}
@@ -117,7 +117,7 @@ public static Optional<String> getPrivateKey(ItemStack stack) {
117117
}
118118

119119
public static void setPrivateKey(ItemStack stack, String privateKey) {
120-
if (stack.getItem() instanceof IDataItem dataItem) {
120+
if (stack.getItem() instanceof IDataHolder dataItem) {
121121
if (!dataItem.supportsPrivateKey()) {
122122
return;
123123
}
@@ -147,14 +147,14 @@ static void tryMigrate(ItemStack stack) {
147147

148148
stack.set(ModRegistry.DataComponents.DATAHOLDER_UUID.get(), legacyData.get().uuid());
149149

150-
ItemDataHandler.setReadOnly(stack, legacyData.get().readonly());
151-
ItemDataHandler.setColor(stack, legacyData.get().color());
150+
DataHolderHandler.setReadOnly(stack, legacyData.get().readonly());
151+
DataHolderHandler.setColor(stack, legacyData.get().color());
152152

153153
}
154154

155155
record DataItemData(UUID uuid, String data, boolean readonly, int color, @Nullable String privateKey) {
156156
public static Optional<DataItemData> migrate(ItemStack stack) {
157-
if (!(stack.getItem() instanceof IDataItem)) {
157+
if (!(stack.getItem() instanceof IDataHolder)) {
158158
return Optional.empty();
159159
}
160160

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package me.alexdevs.classicPeripherals.core.dataHolder;
2+
3+
public interface IDataHolder {
4+
boolean supportsPrivateKey();
5+
}

common/src/main/java/me/alexdevs/classicPeripherals/datagen/generators/BlockModelProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import dan200.computercraft.api.ComputerCraftAPI;
44
import me.alexdevs.classicPeripherals.ClassicPeripherals;
5-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
6-
import me.alexdevs.classicPeripherals.registry.block.NfcReaderBlock;
7-
import me.alexdevs.classicPeripherals.registry.block.RfidScannerBlock;
8-
import me.alexdevs.classicPeripherals.registry.block.ScannerBlock;
5+
import me.alexdevs.classicPeripherals.ModRegistry;
6+
import me.alexdevs.classicPeripherals.peripherals.nfc.NfcReaderBlock;
7+
import me.alexdevs.classicPeripherals.peripherals.rfid.RfidScannerBlock;
8+
import me.alexdevs.classicPeripherals.peripherals.scanner.ScannerBlock;
99
import net.minecraft.data.models.BlockModelGenerators;
1010
import net.minecraft.data.models.blockstates.*;
1111
import net.minecraft.data.models.model.*;

common/src/main/java/me/alexdevs/classicPeripherals/datagen/generators/ItemModelProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package me.alexdevs.classicPeripherals.datagen.generators;
22

3-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
3+
import me.alexdevs.classicPeripherals.ModRegistry;
44
import net.minecraft.data.models.ItemModelGenerators;
55
import net.minecraft.data.models.model.ModelLocationUtils;
66
import net.minecraft.data.models.model.ModelTemplates;

common/src/main/java/me/alexdevs/classicPeripherals/datagen/generators/LanguageGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.google.gson.JsonObject;
44
import me.alexdevs.classicPeripherals.ClassicPeripherals;
5-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
5+
import me.alexdevs.classicPeripherals.ModRegistry;
66
import net.minecraft.data.CachedOutput;
77
import net.minecraft.data.DataProvider;
88
import net.minecraft.data.PackOutput;

common/src/main/java/me/alexdevs/classicPeripherals/datagen/generators/LootTableGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package me.alexdevs.classicPeripherals.datagen.generators;
22

3-
import me.alexdevs.classicPeripherals.registry.ModRegistry;
3+
import me.alexdevs.classicPeripherals.ModRegistry;
44
import me.alexdevs.classicPeripherals.platform.RegistrySupplier;
55
import net.minecraft.core.HolderLookup;
66
import net.minecraft.data.loot.LootTableSubProvider;

0 commit comments

Comments
 (0)