diff --git a/src/main/java/li/cil/oc2/api/bus/device/data/BlockDeviceData.java b/src/main/java/li/cil/oc2/api/bus/device/data/BlockDeviceData.java index 80a39e60b..818b1ecd9 100644 --- a/src/main/java/li/cil/oc2/api/bus/device/data/BlockDeviceData.java +++ b/src/main/java/li/cil/oc2/api/bus/device/data/BlockDeviceData.java @@ -2,12 +2,8 @@ package li.cil.oc2.api.bus.device.data; -import li.cil.oc2.api.API; import li.cil.sedna.api.device.BlockDevice; -import net.minecraft.core.Registry; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.IForgeRegistryEntry; /** @@ -30,11 +26,6 @@ * */ public interface BlockDeviceData extends IForgeRegistryEntry { - /** - * The registry name of the registry holding block device bases. - */ - ResourceKey> REGISTRY = ResourceKey.createRegistryKey(new ResourceLocation(API.MOD_ID, "block_device_data")); - /** * Gets the read-only base block device this implementation describes. * diff --git a/src/main/java/li/cil/oc2/api/bus/device/data/Firmware.java b/src/main/java/li/cil/oc2/api/bus/device/data/Firmware.java index 178459f15..503a83a73 100644 --- a/src/main/java/li/cil/oc2/api/bus/device/data/Firmware.java +++ b/src/main/java/li/cil/oc2/api/bus/device/data/Firmware.java @@ -2,12 +2,8 @@ package li.cil.oc2.api.bus.device.data; -import li.cil.oc2.api.API; import li.cil.sedna.api.memory.MemoryMap; -import net.minecraft.core.Registry; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.IForgeRegistryEntry; /** @@ -25,11 +21,6 @@ * */ public interface Firmware extends IForgeRegistryEntry { - /** - * The registry name of the registry holding firmwares. - */ - ResourceKey> REGISTRY = ResourceKey.createRegistryKey(new ResourceLocation(API.MOD_ID, "firmware")); - /** * Runs this firmware. *

diff --git a/src/main/java/li/cil/oc2/api/bus/device/provider/BlockDeviceProvider.java b/src/main/java/li/cil/oc2/api/bus/device/provider/BlockDeviceProvider.java index 331b220d4..247d3ff87 100644 --- a/src/main/java/li/cil/oc2/api/bus/device/provider/BlockDeviceProvider.java +++ b/src/main/java/li/cil/oc2/api/bus/device/provider/BlockDeviceProvider.java @@ -2,15 +2,11 @@ package li.cil.oc2.api.bus.device.provider; -import li.cil.oc2.api.API; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.rpc.RPCDevice; import li.cil.oc2.api.bus.device.vm.VMDevice; import li.cil.oc2.api.util.Invalidatable; -import net.minecraft.core.Registry; import net.minecraft.nbt.CompoundTag; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.IForgeRegistryEntry; /** @@ -50,11 +46,6 @@ * @see BlockDeviceQuery */ public interface BlockDeviceProvider extends IForgeRegistryEntry { - /** - * The registry name of the registry holding block device providers. - */ - ResourceKey> REGISTRY = ResourceKey.createRegistryKey(new ResourceLocation(API.MOD_ID, "block_device_provider")); - /** * Get a device for the specified query. * diff --git a/src/main/java/li/cil/oc2/api/bus/device/provider/ItemDeviceProvider.java b/src/main/java/li/cil/oc2/api/bus/device/provider/ItemDeviceProvider.java index aa57b48a7..2608c5358 100644 --- a/src/main/java/li/cil/oc2/api/bus/device/provider/ItemDeviceProvider.java +++ b/src/main/java/li/cil/oc2/api/bus/device/provider/ItemDeviceProvider.java @@ -2,14 +2,10 @@ package li.cil.oc2.api.bus.device.provider; -import li.cil.oc2.api.API; import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.rpc.RPCDevice; import li.cil.oc2.api.bus.device.vm.VMDevice; -import net.minecraft.core.Registry; import net.minecraft.nbt.CompoundTag; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.IForgeRegistryEntry; import javax.annotation.Nullable; @@ -47,11 +43,6 @@ * @see ItemDeviceQuery */ public interface ItemDeviceProvider extends IForgeRegistryEntry { - /** - * The registry name of the registry holding item device providers. - */ - ResourceKey> REGISTRY = ResourceKey.createRegistryKey(new ResourceLocation(API.MOD_ID, "item_device_provider")); - /** * Get a device for the specified query. * diff --git a/src/main/java/li/cil/oc2/api/util/Registries.java b/src/main/java/li/cil/oc2/api/util/Registries.java new file mode 100644 index 000000000..3d01cdb0a --- /dev/null +++ b/src/main/java/li/cil/oc2/api/util/Registries.java @@ -0,0 +1,43 @@ +/* SPDX-License-Identifier: MIT */ + +package li.cil.oc2.api.util; + +import li.cil.oc2.api.API; +import li.cil.oc2.api.bus.device.data.BlockDeviceData; +import li.cil.oc2.api.bus.device.data.Firmware; +import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider; +import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider; +import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; + +/** + * {@link ResourceKey}s for registries created by the mod. + */ +public final class Registries { + /** + * The registry name of the registry holding block device providers. + */ + public static final ResourceKey> BLOCK_DEVICE_PROVIDER = key("block_device_provider"); + + /** + * The registry name of the registry holding item device providers. + */ + public static final ResourceKey> ITEM_DEVICE_PROVIDER = key("item_device_provider"); + + /** + * The registry name of the registry holding block device bases. + */ + public static final ResourceKey> BLOCK_DEVICE_DATA = key("block_device_data"); + + /** + * The registry name of the registry holding firmwares. + */ + public static final ResourceKey> FIRMWARE = key("firmware"); + + /////////////////////////////////////////////////////////////////// + + private static ResourceKey> key(final String name) { + return ResourceKey.createRegistryKey(new ResourceLocation(API.MOD_ID, name)); + } +} diff --git a/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java b/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java index eef3c365d..0172c6894 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java +++ b/src/main/java/li/cil/oc2/common/bus/device/data/BlockDeviceDataRegistry.java @@ -3,6 +3,7 @@ package li.cil.oc2.common.bus.device.data; import li.cil.oc2.api.bus.device.data.BlockDeviceData; +import li.cil.oc2.api.util.Registries; import li.cil.oc2.common.util.RegistryUtils; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.DeferredRegister; @@ -15,7 +16,7 @@ import java.util.stream.Stream; public final class BlockDeviceDataRegistry { - private static final DeferredRegister INITIALIZER = RegistryUtils.getInitializerFor(BlockDeviceData.REGISTRY); + private static final DeferredRegister INITIALIZER = RegistryUtils.getInitializerFor(Registries.BLOCK_DEVICE_DATA); /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/bus/device/data/FirmwareRegistry.java b/src/main/java/li/cil/oc2/common/bus/device/data/FirmwareRegistry.java index 026394a64..0008618a2 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/data/FirmwareRegistry.java +++ b/src/main/java/li/cil/oc2/common/bus/device/data/FirmwareRegistry.java @@ -3,6 +3,7 @@ package li.cil.oc2.common.bus.device.data; import li.cil.oc2.api.bus.device.data.Firmware; +import li.cil.oc2.api.util.Registries; import li.cil.oc2.common.util.RegistryUtils; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.DeferredRegister; @@ -15,7 +16,7 @@ import java.util.stream.Stream; public final class FirmwareRegistry { - private static final DeferredRegister INITIALIZER = RegistryUtils.getInitializerFor(Firmware.REGISTRY); + private static final DeferredRegister INITIALIZER = RegistryUtils.getInitializerFor(Registries.FIRMWARE); /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/ProviderRegistry.java b/src/main/java/li/cil/oc2/common/bus/device/provider/ProviderRegistry.java index e8633e261..0f46339d6 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/ProviderRegistry.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/ProviderRegistry.java @@ -4,6 +4,7 @@ import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider; import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider; +import li.cil.oc2.api.util.Registries; import li.cil.oc2.common.util.RegistryUtils; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.IForgeRegistry; @@ -12,12 +13,12 @@ import java.util.function.Supplier; public final class ProviderRegistry { - private static final DeferredRegister BLOCK_DEVICE_PROVIDERS = RegistryUtils.getInitializerFor(BlockDeviceProvider.REGISTRY); + private static final DeferredRegister BLOCK_DEVICE_PROVIDERS = RegistryUtils.getInitializerFor(Registries.BLOCK_DEVICE_PROVIDER); public static final Supplier> BLOCK_DEVICE_PROVIDER_REGISTRY = BLOCK_DEVICE_PROVIDERS.makeRegistry(BlockDeviceProvider.class, RegistryBuilder::new); /////////////////////////////////////////////////////////////////// - private static final DeferredRegister ITEM_DEVICE_PROVIDERS = RegistryUtils.getInitializerFor(ItemDeviceProvider.REGISTRY); + private static final DeferredRegister ITEM_DEVICE_PROVIDERS = RegistryUtils.getInitializerFor(Registries.ITEM_DEVICE_PROVIDER); public static final Supplier> ITEM_DEVICE_PROVIDER_REGISTRY = ITEM_DEVICE_PROVIDERS.makeRegistry(ItemDeviceProvider.class, RegistryBuilder::new); ///////////////////////////////////////////////////////////////////