diff --git a/src/main/java/li/cil/oc2/Constants.java b/src/main/java/li/cil/oc2/Constants.java index 776c904d..b3c7d520 100644 --- a/src/main/java/li/cil/oc2/Constants.java +++ b/src/main/java/li/cil/oc2/Constants.java @@ -2,4 +2,6 @@ package li.cil.oc2; public final class Constants { public static final String COMPUTER_BLOCK_NAME = "computer"; + public static final String REDSTONE_INTERFACE_BLOCK_NAME = "redstone_interface"; + public static final String SCREEN_BLOCK_NAME = "screen"; } diff --git a/src/main/java/li/cil/oc2/OpenComputers.java b/src/main/java/li/cil/oc2/OpenComputers.java index 11c35e87..98406101 100644 --- a/src/main/java/li/cil/oc2/OpenComputers.java +++ b/src/main/java/li/cil/oc2/OpenComputers.java @@ -4,6 +4,8 @@ import li.cil.oc2.api.API; import li.cil.oc2.client.ClientSetup; import li.cil.oc2.common.CommonSetup; 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.container.ComputerContainer; import li.cil.oc2.common.item.RISCVTesterItem; import li.cil.oc2.common.tile.ComputerTileEntity; @@ -34,10 +36,14 @@ public final class OpenComputers { public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, API.MOD_ID); public static final RegistryObject COMPUTER_BLOCK = BLOCKS.register(Constants.COMPUTER_BLOCK_NAME, ComputerBlock::new); + public static final RegistryObject REDSTONE_INTERFACE_BLOCK = BLOCKS.register(Constants.REDSTONE_INTERFACE_BLOCK_NAME, RedstoneInterfaceBlock::new); + public static final RegistryObject SCREEN_BLOCK = BLOCKS.register(Constants.SCREEN_BLOCK_NAME, ScreenBlock::new); public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, API.MOD_ID); public static final RegistryObject RISCV_TESTER = ITEMS.register("riscv_tester", RISCVTesterItem::new); public static final RegistryObject COMPUTER_ITEM = ITEMS.register(Constants.COMPUTER_BLOCK_NAME, () -> new BlockItem(COMPUTER_BLOCK.get(), new Item.Properties().group(ITEM_GROUP))); + public static final RegistryObject 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 SCREEN_ITEM = ITEMS.register(Constants.SCREEN_BLOCK_NAME, () -> new BlockItem(SCREEN_BLOCK.get(), new Item.Properties().group(ITEM_GROUP))); public static final DeferredRegister> TILES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, API.MOD_ID); public static final RegistryObject> COMPUTER_TILE_ENTITY = TILES.register(Constants.COMPUTER_BLOCK_NAME, () -> TileEntityType.Builder.create(ComputerTileEntity::new, COMPUTER_BLOCK.get()).build(null)); diff --git a/src/main/java/li/cil/oc2/client/render/tile/ComputerTileEntityRenderer.java b/src/main/java/li/cil/oc2/client/render/tile/ComputerTileEntityRenderer.java index 65a874ed..6d401a0b 100644 --- a/src/main/java/li/cil/oc2/client/render/tile/ComputerTileEntityRenderer.java +++ b/src/main/java/li/cil/oc2/client/render/tile/ComputerTileEntityRenderer.java @@ -47,7 +47,7 @@ public final class ComputerTileEntityRenderer extends TileEntityRenderer builder) { super.fillStateContainer(builder); - builder.add(FACING); + builder.add(HORIZONTAL_FACING); } @Override public BlockState getStateForPlacement(final BlockItemUseContext context) { - return super.getDefaultState().with(FACING, context.getPlacementHorizontalFacing().getOpposite()); - } - - @Override - public BlockState rotate(final BlockState state, final IWorld world, final BlockPos pos, final Rotation direction) { - return state.with(FACING, direction.rotate(state.get(FACING))); - } - - @SuppressWarnings("deprecation") - @Override - public BlockState mirror(final BlockState state, final Mirror mirrorIn) { - return state.rotate(mirrorIn.toRotation(state.get(FACING))); + return super.getDefaultState().with(HORIZONTAL_FACING, context.getPlacementHorizontalFacing().getOpposite()); } @Override diff --git a/src/main/java/li/cil/oc2/common/block/RedstoneInterfaceBlock.java b/src/main/java/li/cil/oc2/common/block/RedstoneInterfaceBlock.java new file mode 100644 index 00000000..5af6237a --- /dev/null +++ b/src/main/java/li/cil/oc2/common/block/RedstoneInterfaceBlock.java @@ -0,0 +1,28 @@ +package li.cil.oc2.common.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.HorizontalBlock; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.state.StateContainer; +import net.minecraft.util.Direction; + +public final class RedstoneInterfaceBlock extends HorizontalBlock { + public RedstoneInterfaceBlock() { + super(Properties.create(Material.IRON).sound(SoundType.METAL)); + setDefaultState(getStateContainer().getBaseState().with(HORIZONTAL_FACING, Direction.NORTH)); + } + + @Override + protected void fillStateContainer(final StateContainer.Builder builder) { + super.fillStateContainer(builder); + builder.add(HORIZONTAL_FACING); + } + + @Override + public BlockState getStateForPlacement(final BlockItemUseContext context) { + return super.getDefaultState().with(HORIZONTAL_FACING, context.getPlacementHorizontalFacing().getOpposite()); + } +} diff --git a/src/main/java/li/cil/oc2/common/block/ScreenBlock.java b/src/main/java/li/cil/oc2/common/block/ScreenBlock.java new file mode 100644 index 00000000..5b37301f --- /dev/null +++ b/src/main/java/li/cil/oc2/common/block/ScreenBlock.java @@ -0,0 +1,28 @@ +package li.cil.oc2.common.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.HorizontalBlock; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.state.StateContainer; +import net.minecraft.util.Direction; + +public final class ScreenBlock extends HorizontalBlock { + public ScreenBlock() { + super(Properties.create(Material.IRON).sound(SoundType.METAL)); + setDefaultState(getStateContainer().getBaseState().with(HORIZONTAL_FACING, Direction.NORTH)); + } + + @Override + protected void fillStateContainer(final StateContainer.Builder builder) { + super.fillStateContainer(builder); + builder.add(HORIZONTAL_FACING); + } + + @Override + public BlockState getStateForPlacement(final BlockItemUseContext context) { + return super.getDefaultState().with(HORIZONTAL_FACING, context.getPlacementHorizontalFacing().getOpposite()); + } +} diff --git a/src/main/java/li/cil/oc2/data/BlockStates.java b/src/main/java/li/cil/oc2/data/BlockStates.java index 1de5e9a9..4555f0d6 100644 --- a/src/main/java/li/cil/oc2/data/BlockStates.java +++ b/src/main/java/li/cil/oc2/data/BlockStates.java @@ -2,9 +2,12 @@ package li.cil.oc2.data; import li.cil.oc2.OpenComputers; import li.cil.oc2.api.API; +import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; +import net.minecraft.item.Item; import net.minecraftforge.client.model.generators.BlockStateProvider; import net.minecraftforge.client.model.generators.ExistingFileHelper; +import net.minecraftforge.fml.RegistryObject; public class BlockStates extends BlockStateProvider { public BlockStates(final DataGenerator generator, final ExistingFileHelper existingFileHelper) { @@ -13,9 +16,13 @@ public class BlockStates extends BlockStateProvider { @Override protected void registerStatesAndModels() { - horizontalBlock(OpenComputers.COMPUTER_BLOCK.get(), models().getBuilder(OpenComputers.COMPUTER_BLOCK.getId().getPath())); + horizontalBlock(OpenComputers.COMPUTER_BLOCK, OpenComputers.COMPUTER_ITEM); + horizontalBlock(OpenComputers.REDSTONE_INTERFACE_BLOCK, OpenComputers.REDSTONE_INTERFACE_ITEM); + horizontalBlock(OpenComputers.SCREEN_BLOCK, OpenComputers.SCREEN_ITEM); + } - itemModels().getBuilder(OpenComputers.COMPUTER_ITEM.getId().getPath()) - .parent(models().getExistingFile(OpenComputers.COMPUTER_BLOCK.getId())); + private void horizontalBlock(final RegistryObject block, final RegistryObject item) { + horizontalBlock(block.get(), models().getBuilder(block.getId().getPath())); + itemModels().getBuilder(item.getId().getPath()).parent(models().getExistingFile(block.getId())); } } diff --git a/src/main/resources/assets/oc2/blockstates/redstone_interface.json b/src/main/resources/assets/oc2/blockstates/redstone_interface.json new file mode 100644 index 00000000..021f72da --- /dev/null +++ b/src/main/resources/assets/oc2/blockstates/redstone_interface.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "oc2:block/redstone_interface" + }, + "facing=south": { + "model": "oc2:block/redstone_interface", + "y": 180 + }, + "facing=west": { + "model": "oc2:block/redstone_interface", + "y": 270 + }, + "facing=east": { + "model": "oc2:block/redstone_interface", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/blockstates/screen.json b/src/main/resources/assets/oc2/blockstates/screen.json new file mode 100644 index 00000000..db3bc0fc --- /dev/null +++ b/src/main/resources/assets/oc2/blockstates/screen.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "oc2:block/screen" + }, + "facing=south": { + "model": "oc2:block/screen", + "y": 180 + }, + "facing=west": { + "model": "oc2:block/screen", + "y": 270 + }, + "facing=east": { + "model": "oc2:block/screen", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/block/redstone_interface.json b/src/main/resources/assets/oc2/models/block/redstone_interface.json new file mode 100644 index 00000000..d7bcb458 --- /dev/null +++ b/src/main/resources/assets/oc2/models/block/redstone_interface.json @@ -0,0 +1 @@ +{"parent":"block/block","textures":{"west":"oc2:blocks/redstone_interface/redstone_interface_west","down":"oc2:blocks/redstone_interface/redstone_interface_down","south":"oc2:blocks/redstone_interface/redstone_interface_south","east":"oc2:blocks/redstone_interface/redstone_interface_east","north":"oc2:blocks/redstone_interface/redstone_interface_north","up":"oc2:blocks/redstone_interface/redstone_interface_up","atlas0":"oc2:blocks/redstone_interface/redstone_interface_atlas0","atlas1":"oc2:blocks/redstone_interface/redstone_interface_atlas1","particle":"#north"},"elements":[{"from":[0,8,13],"to":[1,11,13],"faces":{"north":{"texture":"atlas1","cullface":"west","uv":[6,0,7,3]}}},{"from":[0,8,3],"to":[1,8,13],"faces":{"up":{"texture":"atlas1","cullface":"west","uv":[0,0,1,10]}}},{"from":[0,2,12],"to":[1,6,12],"faces":{"north":{"texture":"atlas0","cullface":"west","uv":[8,11,9,15]}}},{"from":[0,2,4],"to":[1,2,12],"faces":{"up":{"texture":"atlas1","cullface":"west","uv":[4,0,5,8]}}},{"from":[0,6,4],"to":[1,6,12],"faces":{"down":{"texture":"atlas1","cullface":"west","uv":[2,0,3,8]}}},{"from":[0,2,4],"to":[1,6,4],"faces":{"south":{"texture":"atlas0","cullface":"west","uv":[4,11,5,15]}}},{"from":[0,11,3],"to":[1,11,13],"faces":{"down":{"texture":"atlas0","cullface":"west","uv":[0,5,1,15]}}},{"from":[0,8,3],"to":[1,11,3],"faces":{"south":{"texture":"atlas0","cullface":"west","uv":[12,11,13,14]}}},{"from":[2,0,14],"to":[14,1,14],"faces":{"north":{"texture":"atlas0","cullface":"down","uv":[0,3,12,4]}}},{"from":[2,0,2],"to":[2,1,14],"faces":{"east":{"texture":"atlas0","cullface":"down","uv":[0,2,12,3]}}},{"from":[14,0,2],"to":[14,1,14],"faces":{"west":{"texture":"atlas0","cullface":"down","uv":[0,0,12,1]}}},{"from":[2,0,2],"to":[14,1,2],"faces":{"south":{"texture":"atlas0","cullface":"down","uv":[0,1,12,2]}}},{"from":[3,8,15],"to":[3,11,16],"faces":{"east":{"texture":"atlas0","cullface":"south","uv":[14,11,15,14]}}},{"from":[4,2,15],"to":[4,6,16],"faces":{"east":{"texture":"atlas0","cullface":"south","uv":[6,11,7,15]}}},{"from":[12,2,15],"to":[12,6,16],"faces":{"west":{"texture":"atlas0","cullface":"south","uv":[2,11,3,15]}}},{"from":[4,6,15],"to":[12,6,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[2,7,10,8]}}},{"from":[4,2,15],"to":[12,2,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,9,10,10]}}},{"from":[13,8,15],"to":[13,11,16],"faces":{"west":{"texture":"atlas0","cullface":"south","uv":[10,11,11,14]}}},{"from":[3,11,15],"to":[13,11,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[0,4,10,5]}}},{"from":[3,8,15],"to":[13,8,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,5,12,6]}}},{"from":[15,11,3],"to":[16,11,13],"faces":{"down":{"texture":"atlas0","cullface":"east","uv":[1,5,2,15]}}},{"from":[15,2,4],"to":[16,6,4],"faces":{"south":{"texture":"atlas0","cullface":"east","uv":[5,11,6,15]}}},{"from":[15,8,3],"to":[16,8,13],"faces":{"up":{"texture":"atlas1","cullface":"east","uv":[1,0,2,10]}}},{"from":[15,8,3],"to":[16,11,3],"faces":{"south":{"texture":"atlas0","cullface":"east","uv":[13,11,14,14]}}},{"from":[15,8,13],"to":[16,11,13],"faces":{"north":{"texture":"atlas1","cullface":"east","uv":[7,0,8,3]}}},{"from":[15,2,12],"to":[16,6,12],"faces":{"north":{"texture":"atlas0","cullface":"east","uv":[9,11,10,15]}}},{"from":[15,2,4],"to":[16,2,12],"faces":{"up":{"texture":"atlas1","cullface":"east","uv":[5,0,6,8]}}},{"from":[15,6,4],"to":[16,6,12],"faces":{"down":{"texture":"atlas1","cullface":"east","uv":[3,0,4,8]}}},{"from":[3,11,0],"to":[13,11,1],"faces":{"down":{"texture":"atlas0","cullface":"north","uv":[0,15,10,16]}}},{"from":[3,8,0],"to":[3,11,1],"faces":{"east":{"texture":"atlas0","cullface":"north","uv":[15,11,16,14]}}},{"from":[13,8,0],"to":[13,11,1],"faces":{"west":{"texture":"atlas0","cullface":"north","uv":[11,11,12,14]}}},{"from":[12,2,0],"to":[12,6,1],"faces":{"west":{"texture":"atlas0","cullface":"north","uv":[3,11,4,15]}}},{"from":[4,2,0],"to":[4,6,1],"faces":{"east":{"texture":"atlas0","cullface":"north","uv":[7,11,8,15]}}},{"from":[4,6,0],"to":[12,6,1],"faces":{"down":{"texture":"atlas0","cullface":"north","uv":[2,8,10,9]}}},{"from":[4,2,0],"to":[12,2,1],"faces":{"up":{"texture":"atlas0","cullface":"north","uv":[2,10,10,11]}}},{"from":[3,8,0],"to":[13,8,1],"faces":{"up":{"texture":"atlas0","cullface":"north","uv":[2,6,12,7]}}},{"from":[0,11,0],"to":[0,16,16],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,8,13],"to":[0,11,16],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,8,0],"to":[0,11,3],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,0,0],"to":[0,8,4],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,0,12],"to":[0,8,16],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,0,4],"to":[0,2,12],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,6,4],"to":[0,8,12],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,2,4],"to":[1,6,12],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,8,3],"to":[1,11,13],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[2,0,14],"to":[16,0,16],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[14,0,0],"to":[16,0,14],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,0,0],"to":[14,0,2],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,0,2],"to":[2,0,16],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[2,1,2],"to":[14,1,14],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,11,16],"to":[16,16,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[12,0,16],"to":[16,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[13,8,16],"to":[16,11,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[0,8,16],"to":[3,11,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[0,0,16],"to":[4,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,0,16],"to":[12,2,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,6,16],"to":[12,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,2,15],"to":[12,6,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[3,8,15],"to":[13,11,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[16,11,0],"to":[16,16,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,0,0],"to":[16,8,4],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,8,0],"to":[16,11,3],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,8,13],"to":[16,11,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,0,12],"to":[16,8,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,0,4],"to":[16,2,12],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,6,4],"to":[16,8,12],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,2,4],"to":[15,6,12],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,8,3],"to":[15,11,13],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[0,11,0],"to":[16,16,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,8,0],"to":[3,11,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[13,8,0],"to":[16,11,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[12,0,0],"to":[16,8,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,0,0],"to":[4,8,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[4,0,0],"to":[12,2,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[4,6,0],"to":[12,8,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[4,2,1],"to":[12,6,1],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[3,8,1],"to":[13,11,1],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,16,0],"to":[16,16,16],"faces":{"up":{"texture":"up","cullface":"up"}}}]} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/block/screen.json b/src/main/resources/assets/oc2/models/block/screen.json new file mode 100644 index 00000000..79df36cc --- /dev/null +++ b/src/main/resources/assets/oc2/models/block/screen.json @@ -0,0 +1 @@ +{"parent":"block/block","textures":{"west":"oc2:blocks/screen/screen_west","down":"oc2:blocks/screen/screen_down","south":"oc2:blocks/screen/screen_south","east":"oc2:blocks/screen/screen_east","north":"oc2:blocks/screen/screen_north","up":"oc2:blocks/screen/screen_up","atlas0":"oc2:blocks/screen/screen_atlas0","atlas1":"oc2:blocks/screen/screen_atlas1","particle":"#north"},"elements":[{"from":[0,7,6],"to":[1,14,6],"faces":{"north":{"texture":"atlas1","cullface":"west","uv":[12,0,13,7]}}},{"from":[0,7,4],"to":[1,14,4],"faces":{"north":{"texture":"atlas1","cullface":"west","uv":[14,0,15,7]}}},{"from":[0,7,7],"to":[1,7,8],"faces":{"up":{"texture":"atlas0","cullface":"west","uv":[15,14,16,15]}}},{"from":[0,7,5],"to":[1,7,6],"faces":{"up":{"texture":"atlas0","cullface":"west","uv":[4,13,5,14]}}},{"from":[0,7,3],"to":[1,7,4],"faces":{"up":{"texture":"atlas0","cullface":"west","uv":[6,13,7,14]}}},{"from":[0,7,8],"to":[1,14,8],"faces":{"north":{"texture":"atlas1","cullface":"west","uv":[10,0,11,7]}}},{"from":[0,2,2],"to":[1,2,14],"faces":{"up":{"texture":"atlas1","cullface":"west","uv":[0,0,1,12]}}},{"from":[0,2,14],"to":[1,6,14],"faces":{"north":{"texture":"atlas1","cullface":"west","uv":[8,7,9,11]}}},{"from":[0,6,2],"to":[1,6,14],"faces":{"down":{"texture":"atlas0","cullface":"west","uv":[0,3,1,15]}}},{"from":[0,2,2],"to":[1,6,2],"faces":{"south":{"texture":"atlas1","cullface":"west","uv":[5,7,6,11]}}},{"from":[0,14,7],"to":[1,14,8],"faces":{"down":{"texture":"atlas0","cullface":"west","uv":[5,14,6,15]}}},{"from":[0,7,7],"to":[1,14,7],"faces":{"south":{"texture":"atlas1","cullface":"west","uv":[4,0,5,7]}}},{"from":[0,14,5],"to":[1,14,6],"faces":{"down":{"texture":"atlas0","cullface":"west","uv":[7,14,8,15]}}},{"from":[0,7,5],"to":[1,14,5],"faces":{"south":{"texture":"atlas1","cullface":"west","uv":[6,0,7,7]}}},{"from":[0,14,3],"to":[1,14,4],"faces":{"down":{"texture":"atlas0","cullface":"west","uv":[9,14,10,15]}}},{"from":[0,7,3],"to":[1,14,3],"faces":{"south":{"texture":"atlas1","cullface":"west","uv":[8,0,9,7]}}},{"from":[2,0,14],"to":[14,1,14],"faces":{"north":{"texture":"atlas0","cullface":"down","uv":[2,7,14,8]}}},{"from":[2,0,2],"to":[2,1,14],"faces":{"east":{"texture":"atlas0","cullface":"down","uv":[2,6,14,7]}}},{"from":[14,0,2],"to":[14,1,14],"faces":{"west":{"texture":"atlas0","cullface":"down","uv":[0,2,12,3]}}},{"from":[2,0,2],"to":[14,1,2],"faces":{"south":{"texture":"atlas0","cullface":"down","uv":[2,5,14,6]}}},{"from":[2,8,15],"to":[2,9,16],"faces":{"east":{"texture":"atlas0","cullface":"south","uv":[12,14,13,15]}}},{"from":[2,10,15],"to":[2,11,16],"faces":{"east":{"texture":"atlas0","cullface":"south","uv":[13,14,14,15]}}},{"from":[2,12,15],"to":[2,13,16],"faces":{"east":{"texture":"atlas0","cullface":"south","uv":[14,14,15,15]}}},{"from":[4,2,15],"to":[4,6,16],"faces":{"east":{"texture":"atlas1","cullface":"south","uv":[7,7,8,11]}}},{"from":[12,2,15],"to":[12,6,16],"faces":{"west":{"texture":"atlas1","cullface":"south","uv":[4,7,5,11]}}},{"from":[4,6,15],"to":[12,6,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[2,11,10,12]}}},{"from":[4,2,15],"to":[12,2,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,12,10,13]}}},{"from":[14,8,15],"to":[14,9,16],"faces":{"west":{"texture":"atlas0","cullface":"south","uv":[2,14,3,15]}}},{"from":[2,9,15],"to":[14,9,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[0,15,12,16]}}},{"from":[2,8,15],"to":[14,8,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,8,14,9]}}},{"from":[14,10,15],"to":[14,11,16],"faces":{"west":{"texture":"atlas0","cullface":"south","uv":[3,14,4,15]}}},{"from":[2,11,15],"to":[14,11,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[2,3,14,4]}}},{"from":[2,10,15],"to":[14,10,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,9,14,10]}}},{"from":[14,12,15],"to":[14,13,16],"faces":{"west":{"texture":"atlas0","cullface":"south","uv":[4,14,5,15]}}},{"from":[2,13,15],"to":[14,13,16],"faces":{"down":{"texture":"atlas0","cullface":"south","uv":[2,4,14,5]}}},{"from":[2,12,15],"to":[14,12,16],"faces":{"up":{"texture":"atlas0","cullface":"south","uv":[2,10,14,11]}}},{"from":[15,7,5],"to":[16,14,5],"faces":{"south":{"texture":"atlas1","cullface":"east","uv":[7,0,8,7]}}},{"from":[15,7,4],"to":[16,14,4],"faces":{"north":{"texture":"atlas1","cullface":"east","uv":[15,0,16,7]}}},{"from":[15,7,7],"to":[16,14,7],"faces":{"south":{"texture":"atlas1","cullface":"east","uv":[5,0,6,7]}}},{"from":[15,7,6],"to":[16,14,6],"faces":{"north":{"texture":"atlas1","cullface":"east","uv":[13,0,14,7]}}},{"from":[15,6,2],"to":[16,6,14],"faces":{"down":{"texture":"atlas0","cullface":"east","uv":[1,3,2,15]}}},{"from":[15,7,3],"to":[16,14,3],"faces":{"south":{"texture":"atlas1","cullface":"east","uv":[9,0,10,7]}}},{"from":[15,14,7],"to":[16,14,8],"faces":{"down":{"texture":"atlas0","cullface":"east","uv":[6,14,7,15]}}},{"from":[15,14,5],"to":[16,14,6],"faces":{"down":{"texture":"atlas0","cullface":"east","uv":[8,14,9,15]}}},{"from":[15,14,3],"to":[16,14,4],"faces":{"down":{"texture":"atlas0","cullface":"east","uv":[10,14,11,15]}}},{"from":[15,7,8],"to":[16,14,8],"faces":{"north":{"texture":"atlas1","cullface":"east","uv":[11,0,12,7]}}},{"from":[15,7,7],"to":[16,7,8],"faces":{"up":{"texture":"atlas0","cullface":"east","uv":[3,13,4,14]}}},{"from":[15,7,5],"to":[16,7,6],"faces":{"up":{"texture":"atlas0","cullface":"east","uv":[5,13,6,14]}}},{"from":[15,7,3],"to":[16,7,4],"faces":{"up":{"texture":"atlas0","cullface":"east","uv":[7,13,8,14]}}},{"from":[15,2,2],"to":[16,6,2],"faces":{"south":{"texture":"atlas1","cullface":"east","uv":[6,7,7,11]}}},{"from":[15,2,2],"to":[16,2,14],"faces":{"up":{"texture":"atlas1","cullface":"east","uv":[1,0,2,12]}}},{"from":[15,2,14],"to":[16,6,14],"faces":{"north":{"texture":"atlas1","cullface":"east","uv":[9,7,10,11]}}},{"from":[2,3,0],"to":[4,3,1],"faces":{"down":{"texture":"atlas0","cullface":"north","uv":[12,15,14,16]}}},{"from":[4,2,0],"to":[4,3,1],"faces":{"west":{"texture":"atlas0","cullface":"north","uv":[2,13,3,14]}}},{"from":[15,4,0],"to":[15,15,1],"faces":{"west":{"texture":"atlas1","cullface":"north","uv":[2,0,3,11]}}},{"from":[1,15,0],"to":[15,15,1],"faces":{"down":{"texture":"atlas0","cullface":"north","uv":[0,0,14,1]}}},{"from":[1,4,0],"to":[1,15,1],"faces":{"east":{"texture":"atlas1","cullface":"north","uv":[3,0,4,11]}}},{"from":[2,2,0],"to":[2,3,1],"faces":{"east":{"texture":"atlas0","cullface":"north","uv":[11,14,12,15]}}},{"from":[2,2,0],"to":[4,2,1],"faces":{"up":{"texture":"atlas0","cullface":"north","uv":[14,15,16,16]}}},{"from":[1,4,0],"to":[15,4,1],"faces":{"up":{"texture":"atlas0","cullface":"north","uv":[0,1,14,2]}}},{"from":[0,7,6],"to":[0,14,7],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,7,4],"to":[0,14,5],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,6,3],"to":[0,7,8],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,6,8],"to":[0,16,16],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,14,3],"to":[0,16,8],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,6,0],"to":[0,16,3],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,0,0],"to":[0,2,14],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,2,0],"to":[0,6,2],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[0,0,14],"to":[0,6,16],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,2,2],"to":[1,6,14],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,7,7],"to":[1,14,8],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,7,5],"to":[1,14,6],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[1,7,3],"to":[1,14,4],"faces":{"west":{"texture":"west","cullface":"west"}}},{"from":[2,0,14],"to":[16,0,16],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[14,0,0],"to":[16,0,14],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,0,0],"to":[14,0,2],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,0,2],"to":[2,0,16],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[2,1,2],"to":[14,1,14],"faces":{"down":{"texture":"down","cullface":"down"}}},{"from":[0,13,16],"to":[16,16,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[2,11,16],"to":[14,12,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[2,9,16],"to":[14,10,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[14,8,16],"to":[16,13,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[0,8,16],"to":[2,13,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[12,0,16],"to":[16,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[0,0,16],"to":[4,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,0,16],"to":[12,2,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,6,16],"to":[12,8,16],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[4,2,15],"to":[12,6,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[2,8,15],"to":[14,9,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[2,10,15],"to":[14,11,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[2,12,15],"to":[14,13,15],"faces":{"south":{"texture":"south","cullface":"south"}}},{"from":[16,7,4],"to":[16,14,5],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,7,6],"to":[16,14,7],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,6,0],"to":[16,16,3],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,14,3],"to":[16,16,8],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,6,8],"to":[16,16,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,6,3],"to":[16,7,8],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,0,0],"to":[16,6,2],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,0,2],"to":[16,2,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[16,2,14],"to":[16,6,16],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,2,2],"to":[15,6,14],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,7,7],"to":[15,14,8],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,7,5],"to":[15,14,6],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[15,7,3],"to":[15,14,4],"faces":{"east":{"texture":"east","cullface":"east"}}},{"from":[2,3,0],"to":[4,4,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[4,0,0],"to":[16,4,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[2,0,0],"to":[4,2,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[15,4,0],"to":[16,16,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,15,0],"to":[15,16,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,4,0],"to":[1,15,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,0,0],"to":[2,4,0],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[2,2,1],"to":[4,3,1],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[1,4,1],"to":[15,15,1],"faces":{"north":{"texture":"north","cullface":"north"}}},{"from":[0,16,0],"to":[16,16,16],"faces":{"up":{"texture":"up","cullface":"up"}}}]} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/item/redstone_interface.json b/src/main/resources/assets/oc2/models/item/redstone_interface.json new file mode 100644 index 00000000..63064536 --- /dev/null +++ b/src/main/resources/assets/oc2/models/item/redstone_interface.json @@ -0,0 +1,3 @@ +{ + "parent": "oc2:block/redstone_interface" +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/item/screen.json b/src/main/resources/assets/oc2/models/item/screen.json new file mode 100644 index 00000000..55789501 --- /dev/null +++ b/src/main/resources/assets/oc2/models/item/screen.json @@ -0,0 +1,3 @@ +{ + "parent": "oc2:block/screen" +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_atlas0.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_atlas0.png index d232b50b..7b35b45a 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_atlas0.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_atlas0.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_down.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_down.png index 476abd2a..c61bf562 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_down.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_down.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_east.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_east.png index 836474c6..e83f5652 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_east.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_east.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_north.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_north.png index 8e73e3b4..5ed30472 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_north.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_north.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_south.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_south.png index 2a27093b..5f7dc2e2 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_south.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_south.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_up.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_up.png index 83e6392e..30ba28fe 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_up.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_up.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/computer/computer_west.png b/src/main/resources/assets/oc2/textures/blocks/computer/computer_west.png index f2a5f132..1c106ca9 100644 Binary files a/src/main/resources/assets/oc2/textures/blocks/computer/computer_west.png and b/src/main/resources/assets/oc2/textures/blocks/computer/computer_west.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas0.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas0.png new file mode 100644 index 00000000..ac62dbbe Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas0.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas1.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas1.png new file mode 100644 index 00000000..c78856e4 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_atlas1.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_down.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_down.png new file mode 100644 index 00000000..e17f02d5 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_down.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_east.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_east.png new file mode 100644 index 00000000..dab93984 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_east.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_north.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_north.png new file mode 100644 index 00000000..36786865 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_north.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_south.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_south.png new file mode 100644 index 00000000..202d50dd Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_south.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_up.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_up.png new file mode 100644 index 00000000..3c94e489 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_up.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_west.png b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_west.png new file mode 100644 index 00000000..b4ce430a Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/redstone_interface/redstone_interface_west.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas0.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas0.png new file mode 100644 index 00000000..3c93fb2f Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas0.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas1.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas1.png new file mode 100644 index 00000000..6406795e Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_atlas1.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_down.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_down.png new file mode 100644 index 00000000..e17f02d5 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_down.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_east.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_east.png new file mode 100644 index 00000000..198c0bc0 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_east.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_north.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_north.png new file mode 100644 index 00000000..7b59bcf7 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_north.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_south.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_south.png new file mode 100644 index 00000000..533f01d0 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_south.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_up.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_up.png new file mode 100644 index 00000000..f4c314c3 Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_up.png differ diff --git a/src/main/resources/assets/oc2/textures/blocks/screen/screen_west.png b/src/main/resources/assets/oc2/textures/blocks/screen/screen_west.png new file mode 100644 index 00000000..076eeaba Binary files /dev/null and b/src/main/resources/assets/oc2/textures/blocks/screen/screen_west.png differ