Difference between revisions of "Command Block (API)"

From ComputerCraft Wiki
Jump to: navigation, search
m (Added peripheral API message)
(Fixed return parameters)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{PeripheralAPI}}
 
{{PeripheralAPI}}
  
The Command Block API allows you to run commands in a Command Block, using it as a peripheral.
+
The Command Block API allows you to run commands in a Command Block, using it as a [[peripheral]].
(The peripheral can only be used if allowed in the config, which is default to false)
+
(The peripheral can only be used if allowed in the [[ComputerCraft.cfg|config]], which disables it by default.) Under CC 1.7 or later, it may be easier to use a [[Command Computer]].
  
Functions exposed by the Command Block, where commandBlock is wrapped to a command block:
+
==API==
 +
Functions exposed by the Command Block, where "commandBlock" is a [[peripheral.wrap|wrapped]] Command Block:
 +
{{API table|Command Block|image=Grid disk.png|2=
  
<table style="width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;">
+
{{API table/row
<tr><td colspan="2" style="font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;">
+
|[[commandBlock.getCommand|''commandBlock''.getCommand]]()
[[File:Grid_disk.png|24px]]&nbsp;&nbsp;
+
|{{type|string}} command
Command Block (API)
+
|Returns a string containing the command currently inside the Command Block.
</td></tr>
+
|odd}}
  
<tr><td style="width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;">Method Name</td><td style="background: #E0E0E0; padding: .4em; font-weight:bold;">Description</td></tr>
+
{{API table/row
 +
|[[commandBlock.setCommand|''commandBlock''.setCommand]]({{type|string}} command)
 +
|{{type|nil}}
 +
|Sets the command in the Command Block to ''command''. '''This does not run it.'''}}
  
<tr style="background-color: #FFFFFF;"><td style="border-top: solid #C9C9C9 1px; padding: .4em;">[[commandBlock.getCommand]]()</td>
+
{{API table/row
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Returns a string containing the command currently inside the Command Block.</td></tr>
+
|[[commandBlock.runCommand|''commandBlock''.runCommand]]()
 +
|{{type|boolean}} success [<nowiki/>, {{type|string}} error]
 +
|Runs the command inside the Command Block previously set by manually editing it or by using [[commandBlock.setCommand|''commandBlock''.setCommand]]().
 +
|odd}}
 +
}}
  
<tr style="background-color: #E8E8E8;"><td style="border-top: solid #C9C9C9 1px; padding: .4em;">[[commandBlock.setCommand]]({{type|string}} command)</td>
+
==Usage==
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the command in the Command Block to ''command''. '''This does not run it.'''</td></tr>
+
All Command Block functions are to be used ''after'' [[peripheral.wrap|wrapping]] the block as a peripheral.
 
+
'''Example''':
<tr style="background-color: #FFFFFF;"><td style="border-top: solid #C9C9C9 1px; padding: .4em;">[[commandBlock.runCommand]]()</td>
+
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Runs the command inside the Command Block previously set by manually editing it or by using [[commandBlock.setCommand]]()</td></tr>
+
</table>
+
 
+
==Note==
+
All Command Block functions are to be used ''after'' wrapping the block in a peripheral.
+
'''example''':
+
 
<span>
 
<span>
  commandBlock = [[peripheral.wrap]]("left")
+
  local commandBlock = [[peripheral.wrap]]("left")
  commandBlock.setCommand("time set 1000")
+
   
  commandBlock.runCommand()
+
[[commandBlock.setCommand]]("time set 1000")
  local currentCommand = commandBlock.getCommand()
+
  [[commandBlock.runCommand]]()
 +
 +
  local currentCommand = [[commandBlock.getCommand]]()
 
</span>
 
</span>
  
 
[[Category:Peripheral APIs]]
 
[[Category:Peripheral APIs]]

Latest revision as of 19:25, 16 February 2015

This API requires the use of a wrapped peripheral!
This API does not behave like a regular API, to use it you must first wrap the peripheral and call the methods on the wrapped object. For more information see this page.

The Command Block API allows you to run commands in a Command Block, using it as a peripheral. (The peripheral can only be used if allowed in the config, which disables it by default.) Under CC 1.7 or later, it may be easier to use a Command Computer.

API

Functions exposed by the Command Block, where "commandBlock" is a wrapped Command Block:

Grid disk.png  Command Block (API)
Function Return values Description
commandBlock.getCommand() string command Returns a string containing the command currently inside the Command Block.
commandBlock.setCommand(string command) nil Sets the command in the Command Block to command. This does not run it.
commandBlock.runCommand() boolean success [, string error] Runs the command inside the Command Block previously set by manually editing it or by using commandBlock.setCommand().

Usage

All Command Block functions are to be used after wrapping the block as a peripheral. Example:

local commandBlock = peripheral.wrap("left")

commandBlock.setCommand("time set 1000")
commandBlock.runCommand()

local currentCommand = commandBlock.getCommand()