Difference between revisions of "OpenCCSensors"
From ComputerCraft Wiki
(→Usage Examples) |
(→Usage Examples) |
||
Line 155: | Line 155: | ||
|code= | |code= | ||
os.loadAPI("ocs/apis/sensor") | os.loadAPI("ocs/apis/sensor") | ||
− | -- the location of the redstone lamp relative to the sensor | + | -- the location of the redstone lamp relative to the sensor |
− | local offset = { | + | local offset = { |
− | + | X = 1, | |
− | + | Y = 1, | |
− | + | Z = 0 | |
− | } | + | } |
− | -- how close a player has to be to activate the lamp | + | -- how close a player has to be to activate the lamp |
− | local radius = 5 | + | local radius = 5 |
− | -- find the distance from the player position to the offset | + | -- find the distance from the player position to the offset |
− | function distance(pos) | + | 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 | + | end |
− | local proximity = sensor.wrap("left") | + | local proximity = sensor.wrap("left") |
− | while true do | + | 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 | + | end |
}} | }} |
Revision as of 02:42, 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.
|
Usage Examples