diff --git a/src/main/java/li/cil/oc2/common/Main.java b/src/main/java/li/cil/oc2/common/Main.java index c4b02621..30a35cff 100644 --- a/src/main/java/li/cil/oc2/common/Main.java +++ b/src/main/java/li/cil/oc2/common/Main.java @@ -9,7 +9,7 @@ import li.cil.oc2.client.manual.Manuals; import li.cil.oc2.common.block.Blocks; import li.cil.oc2.common.blockentity.BlockEntities; import li.cil.oc2.common.bus.device.DeviceTypes; -import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistration; +import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistry; import li.cil.oc2.common.bus.device.data.Firmwares; import li.cil.oc2.common.bus.device.provider.ProviderRegistry; import li.cil.oc2.common.container.Containers; @@ -54,7 +54,7 @@ public final class Main { ProviderRegistry.initialize(); DeviceTypes.initialize(); - BlockDeviceDataRegistration.initialize(); + BlockDeviceDataRegistry.initialize(); Firmwares.initialize(); DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> Manuals::initialize); diff --git a/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistration.java b/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java similarity index 62% rename from src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistration.java rename to src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java index b976cd18..992ed271 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistration.java +++ b/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java @@ -4,19 +4,21 @@ package li.cil.oc2.common.bus.device.data; import li.cil.oc2.api.bus.device.data.BlockDeviceData; import li.cil.oc2.common.util.RegistryUtils; +import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.IForgeRegistry; import net.minecraftforge.registries.RegistryBuilder; import net.minecraftforge.registries.RegistryObject; +import javax.annotation.Nullable; import java.util.function.Supplier; -public final class BlockDeviceDataRegistration { +public final class BlockDeviceDataRegistry { private static final DeferredRegister INITIALIZER = RegistryUtils.create(BlockDeviceData.class); /////////////////////////////////////////////////////////////////// - public static final Supplier> REGISTRY = INITIALIZER.makeRegistry(BlockDeviceData.REGISTRY.getPath(), RegistryBuilder::new); + private static final Supplier> REGISTRY = INITIALIZER.makeRegistry(BlockDeviceData.REGISTRY.getPath(), RegistryBuilder::new); /////////////////////////////////////////////////////////////////// @@ -26,4 +28,14 @@ public final class BlockDeviceDataRegistration { public static void initialize() { } + + @Nullable + public static ResourceLocation getKey(final BlockDeviceData data) { + return data.getRegistryName(); + } + + @Nullable + public static BlockDeviceData getValue(final ResourceLocation location) { + return REGISTRY.get().getValue(location); + } } diff --git a/src/main/java/li/cil/oc2/common/item/AbstractBlockDeviceItem.java b/src/main/java/li/cil/oc2/common/item/AbstractBlockDeviceItem.java index 69960807..a53bd7cc 100644 --- a/src/main/java/li/cil/oc2/common/item/AbstractBlockDeviceItem.java +++ b/src/main/java/li/cil/oc2/common/item/AbstractBlockDeviceItem.java @@ -3,7 +3,7 @@ package li.cil.oc2.common.item; import li.cil.oc2.api.bus.device.data.BlockDeviceData; -import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistration; +import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistry; import li.cil.oc2.common.util.ItemStackUtils; import net.minecraft.ResourceLocationException; import net.minecraft.network.chat.Component; @@ -50,7 +50,7 @@ public abstract class AbstractBlockDeviceItem extends ModItem { } } - return BlockDeviceDataRegistration.REGISTRY.get().getValue(location); + return BlockDeviceDataRegistry.getValue(location); } public ItemStack withData(final ItemStack stack, final BlockDeviceData data) { @@ -58,7 +58,7 @@ public abstract class AbstractBlockDeviceItem extends ModItem { return stack; } - final ResourceLocation key = BlockDeviceDataRegistration.REGISTRY.get().getKey(data); + final ResourceLocation key = BlockDeviceDataRegistry.getKey(data); if (key == null) { return stack; } diff --git a/src/main/java/li/cil/oc2/common/item/Items.java b/src/main/java/li/cil/oc2/common/item/Items.java index 8a3c1351..aebda429 100644 --- a/src/main/java/li/cil/oc2/common/item/Items.java +++ b/src/main/java/li/cil/oc2/common/item/Items.java @@ -4,14 +4,12 @@ package li.cil.oc2.common.item; import li.cil.oc2.common.Constants; import li.cil.oc2.common.block.Blocks; -import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistration; +import li.cil.oc2.common.bus.device.data.BlockDeviceDataRegistry; import li.cil.oc2.common.bus.device.data.Firmwares; import li.cil.oc2.common.util.RegistryUtils; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; @@ -58,7 +56,7 @@ public final class Items { public static final RegistryObject HARD_DRIVE_LARGE = register("hard_drive_large", () -> new HardDriveItem(8 * Constants.MEGABYTE, DyeColor.CYAN)); public static final RegistryObject HARD_DRIVE_CUSTOM = register("hard_drive_custom", () -> - new HardDriveWithExternalDataItem(BlockDeviceDataRegistration.BUILDROOT.getId(), DyeColor.BROWN)); + new HardDriveWithExternalDataItem(BlockDeviceDataRegistry.BUILDROOT.getId(), DyeColor.BROWN)); public static final RegistryObject FLASH_MEMORY = register("flash_memory", () -> new FlashMemoryItem(4 * Constants.KILOBYTE));