diff --git a/Blocks.md b/Blocks.md index 709117c..2710d01 100644 --- a/Blocks.md +++ b/Blocks.md @@ -1,5 +1,8 @@ This page lists all blocks OpenComputers adds to the game. Please check the recipes via NEI. Alternatively, here you can find a [graphical representation of the recipes here](http://imgur.com/a/P4ovH). They are sorted alphabetically as far as I can tell. +Computers +========= + Computer Case ---------- ![Tier 1 Case](http://i.imgur.com/U0hyNpX.png) @@ -17,6 +20,19 @@ For simple use cases a basic case will be quite adequate. When you want to run m Computers [[offer an API|Component/Computer]] to the programs running on them and neighbored blocks, allowing them to start or stop the computer, and to inspect its running state, for example. +Server Rack +----------- +![Server Rack](http://i.imgur.com/s1UoQDh.png) + +The server rack houses up to four [[Servers|Items#server]]. Servers are basically computer cases in item format. Their main advantage is that they can allow for multiple CPUs, allowing more components to be controlled than via a normal computer. + +The server rack also acts like a Power Distributor and Switch in one block, including the built-in servers. Each server slot can be configured to connect to one side directly, though, so the server in the slot can be used to control external block components, such as the Redstone I/O block. + +The range in which Remote Terminals bound to servers in the rack can be used is configured in the server rack's GUI and applies to all servers in it. + +Display and User Input +========== + Screen ------ ![Tier 1 Screen](http://i.imgur.com/IoxkFlc.png) @@ -43,19 +59,24 @@ For multi-block screens it can very much matter *where* on the screen you place Note that a screen block for itself is just that. A screen. Displaying stuff. Once you attach a keyboard to it, a GUI will open when you right-click/activate it, allowing text input. Note that tier two and three screens allow "clicking" them in the world directly (by right-clicking/activating them), i.e. a `touch` signal will be generated. They're touch-screens, so to speak. *This only works if they have no keyboard*. -Cable ------ -![Cable](http://i.imgur.com/gbnbfIm.png) +Hologram Projector +------------------ +![Hologram Projector](http://i.imgur.com/Zot5mQU.png) -A cheap way of connecting blocks. As described [[on the start page|Home#connectivity]], most blocks in OpenComputers will serve as "connectors", i.e. components will automatically be available to any computers the are indirectly connected to. A few exceptions are the [[Switch|Blocks#switch]] and the [[Power Distributor|Blocks#power-distributor]] blocks, which explicitly should not connect different networks they are adjacent to. Cables are the least expensive way of building such connections over longer distances. For example, if you wish to have your actual computer in a safe place, and the screen somewhere more visible, you may wish to connect the screen to your computer using cables. Instead of... capacitors. Or more screens. +This block projects a hologram in the area over it. The size of the hologram can be scaled from 1x1x1 block to 9x9x6 blocks. The number of 'voxels' will stay the same, regardless of scale though. +It has resolution of 48x32x48 monochrome voxels (they can either be on or off). Each voxel in that 3D array can be set individually. Generated holograms will look like this: +![Example Hologram](http://i.imgur.com/aK8YjZR.png) -Disk Drive ----------- -![Disk Drive](http://i.imgur.com/nFwbhnU.png) +Power and Networking +==================== -Allows reading and writing [[floppies|Items#floppy-disk]]. ComputerCraft floppies are also supported. +Capacitor +--------- +![Capacitor](http://i.imgur.com/lUERMxk.png) -The main use of floppies - except being cheaper than hard drives - is to get data onto robots, since they cannot connect to external components, and only have a component slot for floppies, but not for hard drives. If you have the materials, you can build a tier three case, which has a built-in disk drive. Until then, this block is your new best friend. +Stores energy for later use. Can be filled and emptied very quickly. Note that some blocks have a small, internal storage capacity, to allow getting started quickly with a small setup (e.g. [[computer cases|Blocks#basic-case]] and [[Power Converters|Blocks#power-converter]]). This means you will have to keep supplying power almost non-stop, to avoid computers shutting down due to power loss. To increase the time a network can continue to function without new power being injected into it you can build capacitors to increase the networks' energy storage capacity. + +You'll also want to have some capacitors ready to allow charging robots at a reasonable pace without bringing down all other components in your network. Otherwise they'll just suck your network dry. Power Converter ----------------- @@ -78,23 +99,37 @@ Power Distributor Distributes energy between different networks. This can be useful for powering multiple sub-networks that should not connect to each other. For example, you'll usually want to try and keep different computers in different networks - unless you have a startup script on each computer that manually assigns the primary components. Otherwise you'll frequently end up with the computers binding the wrong screen and/or keyboard on startup, for example, or even multiple computer binding to the same screen. -Capacitor ---------- -![Capacitor](http://i.imgur.com/lUERMxk.png) +Switch +------ +![Switch](http://i.imgur.com/wCkBDYy.png) -Stores energy for later use. Can be filled and emptied very quickly. Note that some blocks have a small, internal storage capacity, to allow getting started quickly with a small setup (e.g. [[computer cases|Blocks#basic-case]] and [[Power Converters|Blocks#power-converter]]). This means you will have to keep supplying power almost non-stop, to avoid computers shutting down due to power loss. To increase the time a network can continue to function without new power being injected into it you can build capacitors to increase the networks' energy storage capacity. +The Switch allows connecting different networks to each other. Only network messages will be passed along, components will not be visible through this. Use this to separate networks while still allowing communication using Network Cards. The reasoning is the same as for the [[Power Distributor|Blocks#power-distributor]] not connecting its adjacent networks: you may often wish to keep your sub-networks separate. This allows computers in different sub-networks to communicate without having to go all out and use wireless networks. -You'll also want to have some capacitors ready to allow charging robots at a reasonable pace without bringing down all other components in your network. Otherwise they'll just suck your network dry. +The Switch block also serves as a ComputerCraft peripheral, providing an interface imitating that of ComputerCraft's (wired) modems. It will forward network messages sent from ComputerCraft to the OpenComputers side, which can be received if a [[Network Card|Items#network-card]] is installed. It will also receive OpenComputers' network messages and push a corresponding signal in CC computers attached to the adapter. Note that network messages in OpenComputers do not require a "response port" like ComputerCraft does. If the first argument for the network message is a number, it will be interpreted as the response port to tell ComputerCraft receivers, otherwise the response port will be set to `-1`. +*Note*: this functionality was available via the Adapter block before 1.1.0. -Adapter -------- -![Adapter](http://i.imgur.com/zxBEqS5.png) +Access Point +------------ +![Access Point](http://i.imgur.com/6afusV2.png) -Used to control non-component blocks, such as vanilla blocks or blocks from other mods. You will most likely also install [OpenComponents](https://github.com/MightyPirates/OpenComponents) to make this block more useful. +The Access Point is an improved version of the Switch. It allows for the same functionality and more: it also receives and relays wireless messages! It converts wireless messages into wired ones and vice versa, given its signal strength is not set to zero. For example, placing an Access Point next to a computer with a normal network card will allow it to send network messages to another computer with a wireless network card that is in range of the access point, as well as receive messages from it. -This block allows interfacing with all kinds of blocks, as long as a driver is made available to OpenComputers. For example, OpenComponents comes with such drivers for the vanilla Command Block and Note Block, as well as drivers for a bunch of tech mods such as BuildCraft IndustrialCraft2 and ThermalExpansion. OpenComponents will also allow the Adapter to interface with most ComputerCraft peripherals. +Extensions +========== -If you're a modder it's pretty easy to write a driver, you just have to implement the corresponding interface from the API and register it with OpenComputers in the init phase. Have a look at the implementation of OpenComponents, if you find [the documentation](https://github.com/MightyPirates/OpenComputers/tree/master/src/main/java/li/cil/oc/api) in the interfaces is insufficient. +Cable +----- +![Cable](http://i.imgur.com/gbnbfIm.png) + +A cheap way of connecting blocks. As described [[on the start page|Home#connectivity]], most blocks in OpenComputers will serve as "connectors", i.e. components will automatically be available to any computers the are indirectly connected to. A few exceptions are the [[Switch|Blocks#switch]] and the [[Power Distributor|Blocks#power-distributor]] blocks, which explicitly should not connect different networks they are adjacent to. Cables are the least expensive way of building such connections over longer distances. For example, if you wish to have your actual computer in a safe place, and the screen somewhere more visible, you may wish to connect the screen to your computer using cables. Instead of... capacitors. Or more screens. + +Disk Drive +---------- +![Disk Drive](http://i.imgur.com/nFwbhnU.png) + +Allows reading and writing [[floppies|Items#floppy-disk]]. ComputerCraft floppies are also supported. + +The main use of floppies - except being cheaper than hard drives - is to get data onto robots, since they cannot connect to external components, and only have a component slot for floppies, but not for hard drives. If you have the materials, you can build a tier three case, which has a built-in disk drive. Until then, this block is your new best friend. Redstone I/O ------------ @@ -107,30 +142,18 @@ Allows reading and emitting redstone signals around the block. Can be controlled Like redstone cards, this offers the [[redstone component|Component/Redstone]] API. Note that while redstone cards rely on the container's orientation for the sides in their API, the redstone I/O block always uses absolute directions, e.g. `sides.north`. -Switch ------- -![Switch](http://i.imgur.com/wCkBDYy.png) +Adapter +------- +![Adapter](http://i.imgur.com/zxBEqS5.png) -Allows connecting different networks to each other. Only network messages will be passed along, components will not be visible through this. Use this to separate networks while still allowing communication using Network Cards. The reasoning is the same as for the [[Power Distributor|Blocks#power-distributor]] not connecting its adjacent networks: you may often wish to keep your sub-networks separate. This allows computers in different sub-networks to communicate without having to go all out and use wireless networks. +Used to control non-component blocks, such as vanilla blocks or blocks from other mods. You will most likely also install [OpenComponents](https://github.com/MightyPirates/OpenComponents) to make this block more useful. -The Switch block also serves as a ComputerCraft peripheral, providing an interface imitating that of ComputerCraft's (wired) modems. It will forward network messages sent from ComputerCraft to the OpenComputers side, which can be received if a [[Network Card|Items#network-card]] is installed. It will also receive OpenComputers' network messages and push a corresponding signal in CC computers attached to the adapter. Note that network messages in OpenComputers do not require a "response port" like ComputerCraft does. If the first argument for the network message is a number, it will be interpreted as the response port to tell ComputerCraft receivers, otherwise the response port will be set to `-1`. -*Note*: this functionality was available via the Adapter block before 1.1.0. +This block allows interfacing with all kinds of blocks, as long as a driver is made available to OpenComputers. For example, OpenComponents comes with such drivers for the vanilla Command Block and Note Block, as well as drivers for a bunch of tech mods such as BuildCraft IndustrialCraft2 and ThermalExpansion. OpenComponents will also allow the Adapter to interface with most ComputerCraft peripherals. -Access Point ------------- -![Access Point](http://i.imgur.com/6afusV2.png) +If you're a modder it's pretty easy to write a driver, you just have to implement the corresponding interface from the API and register it with OpenComputers in the init phase. Have a look at the implementation of OpenComponents, if you find [the documentation](https://github.com/MightyPirates/OpenComputers/tree/master/src/main/java/li/cil/oc/api) in the interfaces is insufficient. -This is an improved version of the Switch. It allows for the same functionality and more: it also receives and relays wireless messages! It converts wireless messages into wired ones and vice versa, given its signal strength is not set to zero. For example, placing an Access Point next to a computer with a normal network card will allow it to send network messages to another computer with a wireless network card that is in range of the access point, as well as receive messages from it. - -Server Rack ------------ -![Server Rack](http://i.imgur.com/s1UoQDh.png) - -The server rack houses up to four [[Servers|Items#server]]. Servers are basically computer cases in item format. Their main advantage is that they can allow for multiple CPUs, allowing more components to be controlled than via a normal computer. - -The server rack also acts like a Power Distributor and Switch in one block, including the built-in servers. Each server slot can be configured to connect to one side directly, though, so the server in the slot can be used to control external block components, such as the Redstone I/O block. - -The range in which Remote Terminals bound to servers in the rack can be used is configured in the server rack's GUI and applies to all servers in it. +Robotics +======== Charger ------- @@ -145,11 +168,3 @@ Robot ![Robot](http://i.imgur.com/tqaUem6.png) Unlike computers, robots can move around and interact with the world much like a player can. They can **not** interact with external components, however! If you need to communicate with a computer or other robots, use a [[Wireless Network Card|Items#wireless-network-card]] or create some low-level protocol using redstone signals via a [[Redstone Card|Items#redstone-card]]. - -Hologram Projector ------------------- -![Hologram Projector](http://i.imgur.com/Zot5mQU.png) - -This block projects a hologram in the area over it. The size of the hologram can be scaled from 1x1x1 block to 9x9x6 blocks. The number of 'voxels' will stay the same, regardless of scale though. -It has resolution of 48x32x48 monochrome voxels (they can either be on or off). Each voxel that 3D array can be set individually. Generated holograms will look like this: -![Example Hologram](http://i.imgur.com/aK8YjZR.png) \ No newline at end of file