Moved initialization and storage of registry objects to separate classes.

This commit is contained in:
Florian Nücke
2020-12-19 12:06:28 +01:00
parent 32d3d3ada3
commit 907f4fea9a
15 changed files with 195 additions and 82 deletions

View File

@@ -4,66 +4,19 @@ import li.cil.ceres.Ceres;
import li.cil.oc2.api.API;
import li.cil.oc2.client.ClientSetup;
import li.cil.oc2.common.CommonSetup;
import li.cil.oc2.common.block.BusCableBlock;
import li.cil.oc2.common.block.ComputerBlock;
import li.cil.oc2.common.block.RedstoneInterfaceBlock;
import li.cil.oc2.common.block.ScreenBlock;
import li.cil.oc2.common.block.entity.BusCableTileEntity;
import li.cil.oc2.common.block.entity.ComputerTileEntity;
import li.cil.oc2.common.block.entity.RedstoneInterfaceTileEntity;
import li.cil.oc2.common.container.ComputerContainer;
import li.cil.oc2.common.init.*;
import li.cil.sedna.devicetree.DeviceTreeRegistry;
import net.minecraft.block.Block;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
@Mod(API.MOD_ID)
public final class OpenComputers {
public static final ItemGroup ITEM_GROUP = new ItemGroup(API.MOD_ID) {
@Override
public ItemStack createIcon() {
return new ItemStack(COMPUTER_ITEM.get());
}
};
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, API.MOD_ID);
public static final RegistryObject<Block> COMPUTER_BLOCK = BLOCKS.register(Constants.COMPUTER_BLOCK_NAME, ComputerBlock::new);
public static final RegistryObject<Block> BUS_CABLE_BLOCK = BLOCKS.register(Constants.BUS_CABLE_BLOCK_NAME, BusCableBlock::new);
public static final RegistryObject<Block> REDSTONE_INTERFACE_BLOCK = BLOCKS.register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, RedstoneInterfaceBlock::new);
public static final RegistryObject<Block> SCREEN_BLOCK = BLOCKS.register(Constants.SCREEN_BLOCK_NAME, ScreenBlock::new);
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, API.MOD_ID);
public static final RegistryObject<Item> COMPUTER_ITEM = ITEMS.register(Constants.COMPUTER_BLOCK_NAME, () -> new BlockItem(COMPUTER_BLOCK.get(), new Item.Properties().group(ITEM_GROUP)));
public static final RegistryObject<Item> BUS_CABLE_ITEM = ITEMS.register(Constants.BUS_CABLE_BLOCK_NAME, () -> new BlockItem(BUS_CABLE_BLOCK.get(), new Item.Properties().group(ITEM_GROUP)));
public static final RegistryObject<Item> REDSTONE_INTERFACE_ITEM = ITEMS.register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, () -> new BlockItem(REDSTONE_INTERFACE_BLOCK.get(), new Item.Properties().group(ITEM_GROUP)));
public static final RegistryObject<Item> SCREEN_ITEM = ITEMS.register(Constants.SCREEN_BLOCK_NAME, () -> new BlockItem(SCREEN_BLOCK.get(), new Item.Properties().group(ITEM_GROUP)));
public static final RegistryObject<Item> RAM_8M_ITEM = ITEMS.register(Constants.RAM_NAME, () -> new Item(new Item.Properties().group(ITEM_GROUP)));
public static final RegistryObject<Item> HDD_ITEM = ITEMS.register(Constants.HDD_NAME, () -> new Item(new Item.Properties().maxStackSize(1).group(ITEM_GROUP)));
public static final DeferredRegister<TileEntityType<?>> TILES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, API.MOD_ID);
public static final RegistryObject<TileEntityType<ComputerTileEntity>> COMPUTER_TILE_ENTITY = TILES.register(Constants.COMPUTER_BLOCK_NAME, () -> TileEntityType.Builder.create(ComputerTileEntity::new, COMPUTER_BLOCK.get()).build(null));
public static final RegistryObject<TileEntityType<BusCableTileEntity>> BUS_CABLE_TILE_ENTITY = TILES.register(Constants.BUS_CABLE_BLOCK_NAME, () -> TileEntityType.Builder.create(BusCableTileEntity::new, BUS_CABLE_BLOCK.get()).build(null));
public static final RegistryObject<TileEntityType<RedstoneInterfaceTileEntity>> REDSTONE_INTERFACE_TILE_ENTITY = TILES.register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, () -> TileEntityType.Builder.create(RedstoneInterfaceTileEntity::new, REDSTONE_INTERFACE_BLOCK.get()).build(null));
public static final DeferredRegister<ContainerType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.CONTAINERS, API.MOD_ID);
public static final RegistryObject<ContainerType<ComputerContainer>> COMPUTER_CONTAINER = CONTAINERS.register(Constants.COMPUTER_BLOCK_NAME, () -> IForgeContainerType.create(ComputerContainer::create));
public OpenComputers() {
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
TILES.register(FMLJavaModLoadingContext.get().getModEventBus());
CONTAINERS.register(FMLJavaModLoadingContext.get().getModEventBus());
Items.initialize();
Blocks.initialize();
TileEntities.initialize();
Containers.initialize();
Providers.initialize();
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::run);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::run);

View File

@@ -1,16 +1,17 @@
package li.cil.oc2.client;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.client.gui.ComputerContainerScreen;
import li.cil.oc2.client.render.tile.ComputerTileEntityRenderer;
import li.cil.oc2.common.init.Containers;
import li.cil.oc2.common.init.TileEntities;
import net.minecraft.client.gui.ScreenManager;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
public final class ClientSetup {
public static void run(final FMLClientSetupEvent event) {
ScreenManager.registerFactory(OpenComputers.COMPUTER_CONTAINER.get(), ComputerContainerScreen::new);
ScreenManager.registerFactory(Containers.COMPUTER_CONTAINER.get(), ComputerContainerScreen::new);
ClientRegistry.bindTileEntityRenderer(OpenComputers.COMPUTER_TILE_ENTITY.get(), ComputerTileEntityRenderer::new);
ClientRegistry.bindTileEntityRenderer(TileEntities.COMPUTER_TILE_ENTITY.get(), ComputerTileEntityRenderer::new);
}
}

View File

@@ -1,9 +1,9 @@
package li.cil.oc2.common.block;
import com.google.common.collect.Maps;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.common.block.entity.BusCableTileEntity;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.init.TileEntities;
import li.cil.oc2.common.util.WorldUtils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@@ -96,7 +96,7 @@ public final class BusCableBlock extends Block {
@Nullable
@Override
public TileEntity createTileEntity(final BlockState state, final IBlockReader world) {
return OpenComputers.BUS_CABLE_TILE_ENTITY.get().create();
return TileEntities.BUS_CABLE_TILE_ENTITY.get().create();
}
@SuppressWarnings("deprecation")

View File

@@ -1,9 +1,9 @@
package li.cil.oc2.common.block;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.client.gui.TerminalScreen;
import li.cil.oc2.common.block.entity.ComputerTileEntity;
import li.cil.oc2.common.container.ComputerContainer;
import li.cil.oc2.common.init.TileEntities;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.HorizontalBlock;
@@ -49,7 +49,7 @@ public final class ComputerBlock extends HorizontalBlock {
@Nullable
@Override
public TileEntity createTileEntity(final BlockState state, final IBlockReader world) {
return OpenComputers.COMPUTER_TILE_ENTITY.get().create();
return TileEntities.COMPUTER_TILE_ENTITY.get().create();
}
@SuppressWarnings("deprecation")

View File

@@ -1,7 +1,7 @@
package li.cil.oc2.common.block;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.common.block.entity.RedstoneInterfaceTileEntity;
import li.cil.oc2.common.init.TileEntities;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.HorizontalBlock;
@@ -35,7 +35,7 @@ public final class RedstoneInterfaceBlock extends HorizontalBlock {
@Nullable
@Override
public TileEntity createTileEntity(final BlockState state, final IBlockReader world) {
return OpenComputers.REDSTONE_INTERFACE_TILE_ENTITY.get().create();
return TileEntities.REDSTONE_INTERFACE_TILE_ENTITY.get().create();
}
@SuppressWarnings("deprecation")

View File

@@ -1,9 +1,9 @@
package li.cil.oc2.common.block.entity;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.common.block.BusCableBlock;
import li.cil.oc2.common.bus.TileEntityDeviceBusElement;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.init.TileEntities;
import li.cil.oc2.common.serialization.NBTSerialization;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
@@ -21,7 +21,7 @@ public class BusCableTileEntity extends AbstractTileEntity {
///////////////////////////////////////////////////////////////////
public BusCableTileEntity() {
super(OpenComputers.BUS_CABLE_TILE_ENTITY.get());
super(TileEntities.BUS_CABLE_TILE_ENTITY.get());
busElement = new BusElement();
setCapabilityIfAbsent(Capabilities.DEVICE_BUS_ELEMENT_CAPABILITY, busElement);

View File

@@ -3,7 +3,6 @@ package li.cil.oc2.common.block.entity;
import it.unimi.dsi.fastutil.bytes.ByteArrayFIFOQueue;
import li.cil.ceres.api.Serialized;
import li.cil.oc2.Constants;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.api.bus.DeviceBusElement;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.vm.VMContext;
@@ -13,6 +12,8 @@ import li.cil.oc2.common.bus.AbstractDeviceBusController;
import li.cil.oc2.common.bus.TileEntityDeviceBusElement;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.container.DeviceItemStackHandler;
import li.cil.oc2.common.init.Items;
import li.cil.oc2.common.init.TileEntities;
import li.cil.oc2.common.network.Network;
import li.cil.oc2.common.network.message.ComputerBusStateMessage;
import li.cil.oc2.common.network.message.ComputerRunStateMessage;
@@ -102,7 +103,7 @@ public final class ComputerTileEntity extends AbstractTileEntity implements ITic
///////////////////////////////////////////////////////////////////
public ComputerTileEntity() {
super(OpenComputers.COMPUTER_TILE_ENTITY.get());
super(TileEntities.COMPUTER_TILE_ENTITY.get());
busElement = new BusElement();
busController = new BusController();
@@ -121,11 +122,11 @@ public final class ComputerTileEntity extends AbstractTileEntity implements ITic
setCapabilityIfAbsent(Capabilities.DEVICE_BUS_ELEMENT_CAPABILITY, busElement);
setCapabilityIfAbsent(Capabilities.DEVICE_BUS_CONTROLLER_CAPABILITY, busController);
itemHandler.setStackInSlot(0, new ItemStack(OpenComputers.RAM_8M_ITEM.get()));
itemHandler.setStackInSlot(1, new ItemStack(OpenComputers.RAM_8M_ITEM.get()));
itemHandler.setStackInSlot(2, new ItemStack(OpenComputers.RAM_8M_ITEM.get()));
itemHandler.setStackInSlot(0, new ItemStack(Items.RAM_8M_ITEM.get()));
itemHandler.setStackInSlot(1, new ItemStack(Items.RAM_8M_ITEM.get()));
itemHandler.setStackInSlot(2, new ItemStack(Items.RAM_8M_ITEM.get()));
final ItemStack hdd = new ItemStack(OpenComputers.HDD_ITEM.get());
final ItemStack hdd = new ItemStack(Items.HDD_ITEM.get());
final CompoundNBT hddInfo = new CompoundNBT();
hddInfo.putString(Constants.HDD_BASE_NBT_TAG_NAME, "linux");
hdd.setTagInfo(Constants.HDD_INFO_NBT_TAG_NAME, hddInfo);

View File

@@ -1,10 +1,10 @@
package li.cil.oc2.common.block.entity;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.DocumentedDevice;
import li.cil.oc2.api.bus.device.object.NamedDevice;
import li.cil.oc2.api.bus.device.object.Parameter;
import li.cil.oc2.common.init.TileEntities;
import li.cil.oc2.common.util.HorizontalBlockUtils;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
@@ -36,7 +36,7 @@ public class RedstoneInterfaceTileEntity extends TileEntity implements NamedDevi
///////////////////////////////////////////////////////////////////
public RedstoneInterfaceTileEntity() {
super(OpenComputers.REDSTONE_INTERFACE_TILE_ENTITY.get());
super(TileEntities.REDSTONE_INTERFACE_TILE_ENTITY.get());
}
@Override

View File

@@ -1,7 +1,8 @@
package li.cil.oc2.common.container;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.common.block.entity.ComputerTileEntity;
import li.cil.oc2.common.init.Blocks;
import li.cil.oc2.common.init.Containers;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
@@ -31,7 +32,7 @@ public final class ComputerContainer extends Container {
///////////////////////////////////////////////////////////////////
public ComputerContainer(final int id, @Nullable final ComputerTileEntity tileEntity) {
super(OpenComputers.COMPUTER_CONTAINER.get(), id);
super(Containers.COMPUTER_CONTAINER.get(), id);
this.tileEntity = tileEntity;
}
@@ -40,6 +41,6 @@ public final class ComputerContainer extends Container {
if (tileEntity == null) return false;
final World world = tileEntity.getWorld();
if (world == null) return false;
return isWithinUsableDistance(IWorldPosCallable.of(world, tileEntity.getPos()), player, OpenComputers.COMPUTER_BLOCK.get());
return isWithinUsableDistance(IWorldPosCallable.of(world, tileEntity.getPos()), player, Blocks.COMPUTER_BLOCK.get());
}
}

View File

@@ -0,0 +1,30 @@
package li.cil.oc2.common.init;
import li.cil.oc2.Constants;
import li.cil.oc2.api.API;
import li.cil.oc2.common.block.BusCableBlock;
import li.cil.oc2.common.block.ComputerBlock;
import li.cil.oc2.common.block.RedstoneInterfaceBlock;
import li.cil.oc2.common.block.ScreenBlock;
import net.minecraft.block.Block;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public final class Blocks {
private static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, API.MOD_ID);
///////////////////////////////////////////////////////////////////
public static final RegistryObject<Block> COMPUTER_BLOCK = BLOCKS.register(Constants.COMPUTER_BLOCK_NAME, ComputerBlock::new);
public static final RegistryObject<Block> BUS_CABLE_BLOCK = BLOCKS.register(Constants.BUS_CABLE_BLOCK_NAME, BusCableBlock::new);
public static final RegistryObject<Block> REDSTONE_INTERFACE_BLOCK = BLOCKS.register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, RedstoneInterfaceBlock::new);
public static final RegistryObject<Block> SCREEN_BLOCK = BLOCKS.register(Constants.SCREEN_BLOCK_NAME, ScreenBlock::new);
///////////////////////////////////////////////////////////////////
public static void initialize() {
BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
}
}

View File

@@ -0,0 +1,25 @@
package li.cil.oc2.common.init;
import li.cil.oc2.Constants;
import li.cil.oc2.api.API;
import li.cil.oc2.common.container.ComputerContainer;
import net.minecraft.inventory.container.ContainerType;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public final class Containers {
private static final DeferredRegister<ContainerType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.CONTAINERS, API.MOD_ID);
///////////////////////////////////////////////////////////////////
public static final RegistryObject<ContainerType<ComputerContainer>> COMPUTER_CONTAINER = CONTAINERS.register(Constants.COMPUTER_BLOCK_NAME, () -> IForgeContainerType.create(ComputerContainer::create));
///////////////////////////////////////////////////////////////////
public static void initialize() {
CONTAINERS.register(FMLJavaModLoadingContext.get().getModEventBus());
}
}

View File

@@ -0,0 +1,48 @@
package li.cil.oc2.common.init;
import li.cil.oc2.Constants;
import li.cil.oc2.api.API;
import li.cil.oc2.common.item.ItemGroup;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public final class Items {
private static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, API.MOD_ID);
///////////////////////////////////////////////////////////////////
public static final RegistryObject<Item> COMPUTER_ITEM = register(Constants.COMPUTER_BLOCK_NAME, Blocks.COMPUTER_BLOCK);
public static final RegistryObject<Item> BUS_CABLE_ITEM = register(Constants.BUS_CABLE_BLOCK_NAME, Blocks.BUS_CABLE_BLOCK);
public static final RegistryObject<Item> REDSTONE_INTERFACE_ITEM = register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, Blocks.REDSTONE_INTERFACE_BLOCK);
public static final RegistryObject<Item> SCREEN_ITEM = register(Constants.SCREEN_BLOCK_NAME, Blocks.SCREEN_BLOCK);
///////////////////////////////////////////////////////////////////
public static final RegistryObject<Item> HDD_ITEM = register(Constants.HDD_ITEM_NAME);
public static final RegistryObject<Item> RAM_8M_ITEM = register(Constants.RAM_ITEM_NAME);
///////////////////////////////////////////////////////////////////
public static void initialize() {
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
}
///////////////////////////////////////////////////////////////////
private static RegistryObject<Item> register(final String name) {
return ITEMS.register(name, () -> new Item(commonProperties()));
}
private static RegistryObject<Item> register(final String name, final RegistryObject<Block> block) {
return ITEMS.register(name, () -> new BlockItem(block.get(), commonProperties()));
}
private static Item.Properties commonProperties() {
return new Item.Properties().group(ItemGroup.COMMON);
}
}

View File

@@ -0,0 +1,38 @@
package li.cil.oc2.common.init;
import li.cil.oc2.Constants;
import li.cil.oc2.api.API;
import li.cil.oc2.common.block.entity.BusCableTileEntity;
import li.cil.oc2.common.block.entity.ComputerTileEntity;
import li.cil.oc2.common.block.entity.RedstoneInterfaceTileEntity;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.function.Supplier;
public final class TileEntities {
private static final DeferredRegister<TileEntityType<?>> TILES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, API.MOD_ID);
///////////////////////////////////////////////////////////////////
public static final RegistryObject<TileEntityType<RedstoneInterfaceTileEntity>> REDSTONE_INTERFACE_TILE_ENTITY = register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, Blocks.REDSTONE_INTERFACE_BLOCK, RedstoneInterfaceTileEntity::new);
public static final RegistryObject<TileEntityType<BusCableTileEntity>> BUS_CABLE_TILE_ENTITY = register(Constants.BUS_CABLE_BLOCK_NAME, Blocks.BUS_CABLE_BLOCK, BusCableTileEntity::new);
public static final RegistryObject<TileEntityType<ComputerTileEntity>> COMPUTER_TILE_ENTITY = register(Constants.COMPUTER_BLOCK_NAME, Blocks.COMPUTER_BLOCK, ComputerTileEntity::new);
///////////////////////////////////////////////////////////////////
public static void initialize() {
TileEntities.TILES.register(FMLJavaModLoadingContext.get().getModEventBus());
}
///////////////////////////////////////////////////////////////////
private static <T extends TileEntity> RegistryObject<TileEntityType<T>> register(final String name, final RegistryObject<Block> block, final Supplier<T> factory) {
return TILES.register(name, () -> TileEntityType.Builder.create(factory, block.get()).build(null));
}
}

View File

@@ -0,0 +1,15 @@
package li.cil.oc2.common.item;
import li.cil.oc2.Constants;
import li.cil.oc2.api.API;
import li.cil.oc2.common.init.Items;
import net.minecraft.item.ItemStack;
public final class ItemGroup {
public static final net.minecraft.item.ItemGroup COMMON = new net.minecraft.item.ItemGroup(API.MOD_ID + "." + Constants.COMMON_ITEM_GROUP_NAME) {
@Override
public ItemStack createIcon() {
return new ItemStack(Items.COMPUTER_ITEM.get());
}
};
}

View File

@@ -1,9 +1,10 @@
package li.cil.oc2.data;
import com.google.common.collect.Maps;
import li.cil.oc2.OpenComputers;
import li.cil.oc2.api.API;
import li.cil.oc2.common.block.BusCableBlock;
import li.cil.oc2.common.init.Blocks;
import li.cil.oc2.common.init.Items;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.data.DataGenerator;
@@ -30,9 +31,9 @@ public class BlockStates extends BlockStateProvider {
@Override
protected void registerStatesAndModels() {
horizontalBlock(OpenComputers.COMPUTER_BLOCK, OpenComputers.COMPUTER_ITEM);
horizontalBlock(OpenComputers.REDSTONE_INTERFACE_BLOCK, OpenComputers.REDSTONE_INTERFACE_ITEM);
horizontalBlock(OpenComputers.SCREEN_BLOCK, OpenComputers.SCREEN_ITEM);
horizontalBlock(Blocks.COMPUTER_BLOCK, Items.COMPUTER_ITEM);
horizontalBlock(Blocks.REDSTONE_INTERFACE_BLOCK, Items.REDSTONE_INTERFACE_ITEM);
horizontalBlock(Blocks.SCREEN_BLOCK, Items.SCREEN_ITEM);
registerCableStates();
}
@@ -47,7 +48,7 @@ public class BlockStates extends BlockStateProvider {
final ModelFile plugModel = models().getExistingFile(new ResourceLocation(API.MOD_ID, "block/cable_plug"));
final ModelFile straightModel = models().getExistingFile(new ResourceLocation(API.MOD_ID, "block/cable_straight"));
final MultiPartBlockStateBuilder builder = getMultipartBuilder(OpenComputers.BUS_CABLE_BLOCK.get());
final MultiPartBlockStateBuilder builder = getMultipartBuilder(Blocks.BUS_CABLE_BLOCK.get());
// Core element, use straight connections if and only if two opposite ends are
// links and there are no other connections. Since there's no "not" condition we
@@ -76,7 +77,7 @@ public class BlockStates extends BlockStateProvider {
map.put(BusCableBlock.CONNECTION_EAST, BusCableBlock.ConnectionType.LINK);
map.put(BusCableBlock.CONNECTION_WEST, BusCableBlock.ConnectionType.LINK);
});
for (final BlockState state : OpenComputers.BUS_CABLE_BLOCK.get().getStateContainer().getValidStates()) {
for (final BlockState state : Blocks.BUS_CABLE_BLOCK.get().getStateContainer().getValidStates()) {
final ConfiguredModel.Builder<PartBuilder> model = builder.part();
final PartBuilder part;
if (doesStateMatches(state, straightX)) {
@@ -126,7 +127,7 @@ public class BlockStates extends BlockStateProvider {
.end();
});
itemModels().getBuilder(OpenComputers.BUS_CABLE_ITEM.getId().getPath())
itemModels().getBuilder(Items.BUS_CABLE_ITEM.getId().getPath())
.parent(baseModel);
}