Difference between revisions of "Commands.exec"
From ComputerCraft Wiki
Smiley43210 (Talk | contribs) m (Changed "MineCraft" to "Minecraft") |
Magiczocker (Talk | contribs) m |
||
| Line 6: | Line 6: | ||
|api=commands | |api=commands | ||
|addon=ComputerCraft | |addon=ComputerCraft | ||
| − | |desc=Available only to [[Command Computer]]s, executes the specified [ | + | |desc=Available only to [[Command Computer]]s, executes the specified [https://minecraft.gamepedia.com/Commands Minecraft command], [[os.pullEvent|yields]] until the result is determined, then returns it. If command executes successfully then it returns <var>true</var> + the output of the command as a numerically-indexed table, otherwise returns <var>false</var> + an error message as as a numerically-indexed table. Compare [[commands.execAsync]], which ignores the result and returns immediately, without yielding. |
<br/> | <br/> | ||
In ComputerCraft 1.71+ instead of just returning a {{type|boolean}} and an optional error message ({{type|string}}) this function also returns the output of the command in a numerically-indexed table, where each line of the output is put in a separate index. This output is the same as if you would run the command in chat. See example below for an example of this table.<br/> | In ComputerCraft 1.71+ instead of just returning a {{type|boolean}} and an optional error message ({{type|string}}) this function also returns the output of the command in a numerically-indexed table, where each line of the output is put in a separate index. This output is the same as if you would run the command in chat. See example below for an example of this table.<br/> | ||
Latest revision as of 07:06, 4 August 2020
| Available only to Command Computers, executes the specified Minecraft command, yields until the result is determined, then returns it. If command executes successfully then it returns true + the output of the command as a numerically-indexed table, otherwise returns false + an error message as as a numerically-indexed table. Compare commands.execAsync, which ignores the result and returns immediately, without yielding.
| |
| Syntax | commands.exec(string command) |
| Returns | boolean success, table output |
| Part of | ComputerCraft |
| API | commands |
Examples
| Says 'Hello' to the player, closest to the Command Computer. | |
| Code |
commands.exec( "say @p Hello" ) |
| Checks if there are any players around the Command Computer in 2 block radius. | |
| Code |
local radius = 2 local arePlayersAround = commands.exec( "testfor @a[r=" .. radius .. "]") if arePlayersAround then print( "There is one or more players around me." ) else print( "There are no players around me." ) end |
| Prints the output after running the command "help". Requires ComputerCraft 1.71+. | |
| Code |
local success, output = commands.exec( "help" ) if success then print( textutils.serialize( output ) ) end |
| Output | Example output:
{
"--- Showing help page 1 of 5 (/help <page>) ---",
"/achievement give <stat_name> [player]",
"/clear <player> [item] [data]",
"/defaultgamemode <mode>",
"/difficulty <new difficulty>",
"/effect <player> <effect> [seconds] [amplifier]",
"/enchant <player> <enchantment ID> [level]",
"Use /forge <subcommand>. Subcommands are tps, track",
}
|
| |
|---|
| commands.exec - commands.execAsync - commands.list - commands.getBlockPosition - commands.getBlockInfo - commands.getBlockInfos |