Difference between revisions of "OpenCCSensors"
From ComputerCraft Wiki
(→Usage Examples) |
|||
| Line 144: | Line 144: | ||
= Usage Examples = | = Usage Examples = | ||
| − | {{Example | + | {{Example 1 |
|desc=List all available targets on a Proximity Sensor on the left of the Computer. | |desc=List all available targets on a Proximity Sensor on the left of the Computer. | ||
|code=os.loadAPI("ocs/apis/sensor") | |code=os.loadAPI("ocs/apis/sensor") | ||
| Line 150: | Line 150: | ||
print(textutils.serialize(prox.getTargets())) | print(textutils.serialize(prox.getTargets())) | ||
|output=A huge blob of text with all nearby available targets to the sensor, and some basic details. | |output=A huge blob of text with all nearby available targets to the sensor, and some basic details. | ||
| + | }} | ||
| + | {{Example 2 | ||
| + | |desc=Turn on a Redstone lamp when a player is within a certain distance from it. The sensor is placed to the left of the computer and the lamp is placed on top of the computer. | ||
| + | |code= | ||
| + | os.loadAPI("ocs/apis/sensor") | ||
| + | |||
| + | -- the location of the redstone lamp relative to the sensor | ||
| + | local offset = { | ||
| + | X = 1, | ||
| + | Y = 1, | ||
| + | Z = 0 | ||
| + | } | ||
| + | |||
| + | -- how close a player has to be to activate the lamp | ||
| + | local radius = 5 | ||
| + | |||
| + | -- find the distance from the player position to the offset | ||
| + | function distance(pos) | ||
| + | local xd = pos.X - offset.X | ||
| + | local yd = pos.Y - offset.Y | ||
| + | local zd = pos.Z - offset.Z | ||
| + | return math.sqrt(xd*xd + yd*yd + zd*zd) | ||
| + | end | ||
| + | |||
| + | local proximity = sensor.wrap("left") | ||
| + | while true do | ||
| + | local signal = false | ||
| + | local targets = proximity.getTargets() | ||
| + | for k, v in pairs(targets) do | ||
| + | if distance(v.Position) < radius then | ||
| + | signal = true | ||
| + | end | ||
| + | end | ||
| + | rs.setOutput("top", signal) | ||
| + | end | ||
}} | }} | ||
Revision as of 02:38, 31 December 2012
| This page needs some serious TLC, stat! Please help us by cleaning it, fixing it up, or sparing it some love.
(Reason: I no dun with this, but 'tis a start! AfterLifeLochie 03:34, 25 December 2012 (MSK)) |
OpenCCSensors is a new, open-source, up to date replacement for CcSensors (outdated), allowing monitoring and gathering information from the Minecraft environment - including players, entities, proximity, world info, IndustrialCraft 2, BuildCraft 2, liquids, inventories - and more!
| Method Name | Description |
| sensor.wrap(side) | Returns the wrapped sensor on the side specified. |
| mySensor.getTargets() | Returns a a table of all the targets for mySensor, where the keys are used as a numerical index, and the values are each a table of basic details. |
| mySensor.getTargetDetails(key) | Returns a table of full details for that particular target from the sensor mySensor - where the the "key" is the key returned from getTargets() |
| Name | Description |
| Sensor Peripheral |
The Sensor Peripheral needs to be placed next to a computer and it has a single slot to insert a Sensor Card
|
| Name | Description |
| Inventory Sensorcard | The Inventory Sensorcard is capable of reading inventories of players and entities (as well as armour slots).
|
| Proximity Sensorcard | The Proximity Sensorcard is capable of detecting players and entities within it's range.
|
| IndustrialCraft 2 Sensorcard | The IndustrialCraft 2 Sensorcard is capable of interfacing and reading IC2 machine values (eg, EU in storage, etc).
|
| BuildCraft Sensorcard |
|
| Liquid Sensorcard |
|
| World Sensorcard | The World Sensorcard is able to tell the time, weather, and more about the world.
|
| Dropped Item Sensorcard | The Dropped Item Sensorcard is able to locate and identify dropped items.
|
| Sign Sensorcard | The Sign Sensorcard is capable of reading signs within it's range.
|
