-
Notifications
You must be signed in to change notification settings - Fork 447
API Component
Florian Nücke edited this page Jan 31, 2014
·
6 revisions
The component API is used to access and interact with components available to a computer. Also see the page on component interaction.
-
component.get(address: string, componentType: string): string | (nil, string)
Tries to resolve an abbreviated address to a full address. Returns the full address on success, ornil
and an error message otherwise. Optionally filters by component type. -
component.isAvailable(componentType: string): boolean
Checks if there is a primary component of the specified component type. -
component.getPrimary(componentType: string): table
Gets the proxy for the primary component of the specified type. Throws an error if there is no primary component of the specified type. -
component.setPrimary(componentType: string, address: string)
Sets a new primary component for the specified component type. The address may be abbreviated, but must be valid if it is notnil
. Triggers thecomponent_unavailable
andcomponent_available
signals if set tonil
or a new value, respectively. -
component.list([filter: string]): function
Returns an iterator which returns pairs ofaddress, type
for each component connected to the computer. It optionally takes a filter - if specified this will only return those components for which the filter is a substring of the component type. For example:
-- prints `redstone` for each attached redstone card.
for _, name in component.list("red") do print(name) end
Note that the component API has a metatable that allows the following syntax:
local rs0 = component.getPrimary("redstone")
local rs1 = component.redstone -- syntactic sugar
print(rs0 == rs1) -- true