Difference between revisions of "Peripheral (API)"

From ComputerCraft Wiki
Jump to: navigation, search
m (Added NeedsWork note)
m (Added peripheral.find)
Line 20: Line 20:
 
|odd}}
 
|odd}}
  
{{API table/row|[[peripheral.getType]]({{type|string}} side)|{{type|string}}/{{type|nil}}|
+
{{API table/row|[[peripheral.getType]]({{type|string}} side)|{{type|string}} /{{type|nil}}|
 
Returns the type of peripheral connected on ''side'', as a string.
 
Returns the type of peripheral connected on ''side'', as a string.
 
If no peripheral is connected, returns nil.
 
If no peripheral is connected, returns nil.
 
}}
 
}}
  
{{API table/row|[[peripheral.getMethods]]({{type|string}} side)|{{type|table}}/{{type|nil}}|
+
{{API table/row|[[peripheral.getMethods]]({{type|string}} side)|{{type|table}} /{{type|nil}}|
 
Returns a list of the names of all the methods of the peripheral connected on ''side''.
 
Returns a list of the names of all the methods of the peripheral connected on ''side''.
 
If no peripheral is connected, returns nil.
 
If no peripheral is connected, returns nil.
Line 35: Line 35:
 
}}
 
}}
  
{{API table/row|[[peripheral.wrap]]({{type|string}} side)|{{type|table}}/{{type|nil}}|
+
{{API table/row|[[peripheral.wrap]]({{type|string}} side)|{{type|table}} peripheral / {{type|nil}}|
 
Returns a table of functions, allowing you to call peripheral methods as if they were normal Lua functions.
 
Returns a table of functions, allowing you to call peripheral methods as if they were normal Lua functions.
 
If no peripheral is connected, returns nil.
 
If no peripheral is connected, returns nil.
 +
|odd}}
 +
 +
{{API table/row|[[peripheral.find]]({{type|string}} type)|{{type|table}} peripheral / {{type|nil}}|
 +
Finds an attached peripheral of the given type and if found returns a table of functions, similar to [[peripheral.wrap]], allowing you to call peripheral methods as if they were normal Lua functions.
 +
If no peripheral of the given type is connected, it returns nil.
 
|odd}}
 
|odd}}
  

Revision as of 22:55, 29 March 2014

This page needs some serious TLC, stat!
Please help us by cleaning it, fixing it up, or sparing it some love.
(Reason: New 1.6 functions and changes should be mentioned. - Oeed 01:13, 29 March 2014 (GMT))
This article is about the Peripheral API. For APIs exposed when wrapping peripherals through peripheral.wrap() see Peripheral APIs.

The Peripheral API is for interacting with peripherals connected to the computer, such as the Disk Drive, the Advanced Monitor and Monitor. (More peripherals can be found under here).

Each peripheral block has a name, or side. Although peripherals can now be attached to a computer using networking cables, the word side is a holdover from when peripherals needed to be directly next to the computer.

If the peripheral is next to the computer, its side is either "front", "back", "left", "right", "top" or "bottom". If the peripheral is attached by a cable, its side will follow the format "type_id", for example "printer_0".

Peripheral functions are called methods, a term borrowed from Java.

Grid disk.png  Peripheral (API)
Function Return values Description
peripheral.isPresent(string side) boolean

Returns true if a peripheral is connected on side.

peripheral.getType(string side) string /nil

Returns the type of peripheral connected on side, as a string. If no peripheral is connected, returns nil.

peripheral.getMethods(string side) table /nil

Returns a list of the names of all the methods of the peripheral connected on side. If no peripheral is connected, returns nil.

peripheral.call(string side, string method, ...) any

Calls a method on a peripheral. The arguments (apart from side and method) and the return values depend on the method being called. If no peripheral is connected, returns nil.

peripheral.wrap(string side) table peripheral / nil

Returns a table of functions, allowing you to call peripheral methods as if they were normal Lua functions. If no peripheral is connected, returns nil.

peripheral.find(string type) table peripheral / nil

Finds an attached peripheral of the given type and if found returns a table of functions, similar to peripheral.wrap, allowing you to call peripheral methods as if they were normal Lua functions. If no peripheral of the given type is connected, it returns nil.

peripheral.getNames() table

This function returns a table of all the sides that have a peripheral present. If the present peripheral is a wired modem any names of the peripherals that is on the network are also added to the table.

Connecting peripherals using networking cables

Using Networking Cables, you can attach and use peripherals without having them directly touching the computer. To connect a peripheral in this way, place a Wired Modem on any side of your computer, as you would a Wireless Modem. Place a Wired Modem on each peripheral you wish to connect, and then connect all of them with Networking Cables. Then right click each of the wired modems.

You should receive a message in your chat bar for each peripheral informing you of a successful connection, and the peripheral side.

Monitor

Monitor Peripheral functions have been moved to the Monitor page. In addition, the Advanced Monitor Peripheral functions have been moved to the Advanced Monitor page.

Printer

Printer Peripheral functions have been moved to the Printer page.

Computers

Computer Peripheral functions have been moved to the Computer page. In addition, the Advanced Computer Peripheral functions have been moved to the Advanced Computer page.