Renamed class, abstract away registry.

This commit is contained in:
Florian Nücke
2022-02-13 23:35:52 +01:00
parent db0675370b
commit b958aeefd8
4 changed files with 21 additions and 11 deletions

View File

@@ -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);

View File

@@ -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<BlockDeviceData> INITIALIZER = RegistryUtils.create(BlockDeviceData.class);
///////////////////////////////////////////////////////////////////
public static final Supplier<IForgeRegistry<BlockDeviceData>> REGISTRY = INITIALIZER.makeRegistry(BlockDeviceData.REGISTRY.getPath(), RegistryBuilder::new);
private static final Supplier<IForgeRegistry<BlockDeviceData>> 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);
}
}

View File

@@ -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;
}

View File

@@ -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<HardDriveItem> HARD_DRIVE_LARGE = register("hard_drive_large", () ->
new HardDriveItem(8 * Constants.MEGABYTE, DyeColor.CYAN));
public static final RegistryObject<HardDriveWithExternalDataItem> 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<FlashMemoryItem> FLASH_MEMORY = register("flash_memory", () ->
new FlashMemoryItem(4 * Constants.KILOBYTE));