Difference between revisions of "Colors (API)"
From ComputerCraft Wiki
(→Colors) |
(→Methods) |
||
Line 16: | Line 16: | ||
|Tests whether a given color (or set of colors) is contained within a set | |Tests whether a given color (or set of colors) is contained within a set | ||
|} | |} | ||
+ | Note: Since the colors are just integers, the standard addition (+) and subtraction (-) operators may be used on colors instead of colors.combine and colors.subtract. | ||
+ | |||
+ | Furthermore, the [[Bit (API)]] may be used on sets of colors. For example, | ||
+ | <pre> | ||
+ | bCableLeft = rs.getBundledInput("left") | ||
+ | bCableRight = rs.getBundledInput("right") | ||
+ | |||
+ | -- Get a number representing colors on in both right and left bundled cables | ||
+ | commonColors = bit.band(bCableLeft, bCableRight) | ||
+ | |||
+ | -- Get all the colors active on either right or left | ||
+ | totalColors = bit.bor(bCableLeft, bCableRight) | ||
+ | |||
+ | -- Get the colors which are active on right, or left, but not both at the same time | ||
+ | exclusiveColors = bit.bxor(bCableLeft, bCableRight) | ||
+ | |||
+ | -- Get the colors that are not active on the left | ||
+ | offColorsA = bit.bnot(bCableLeft) | ||
+ | </pre> | ||
==Colors== | ==Colors== |
Revision as of 19:22, 17 September 2012
The Colors API allows you to mess with colored cable from the RedPower Mod. For the non-American English Version just replace 'color' with 'colour' and it will use the other API, colours, which is exactly the same, except in non-American English (e.g. gray is spelt grey and lightGray is spelt lightGrey).
Methods
Method name | Description |
---|---|
colors.combine(color1, color2, …) | Combines a set of colors (or sets of colors) into a larger set |
colors.subtract(colors, color1, color2, …) | Removes one or more colors (or sets of colors) from an initial set |
colors.test(colors, color) | Tests whether a given color (or set of colors) is contained within a set |
Note: Since the colors are just integers, the standard addition (+) and subtraction (-) operators may be used on colors instead of colors.combine and colors.subtract.
Furthermore, the Bit (API) may be used on sets of colors. For example,
bCableLeft = rs.getBundledInput("left") bCableRight = rs.getBundledInput("right") -- Get a number representing colors on in both right and left bundled cables commonColors = bit.band(bCableLeft, bCableRight) -- Get all the colors active on either right or left totalColors = bit.bor(bCableLeft, bCableRight) -- Get the colors which are active on right, or left, but not both at the same time exclusiveColors = bit.bxor(bCableLeft, bCableRight) -- Get the colors that are not active on the left offColorsA = bit.bnot(bCableLeft)
Colors
Color constants include, in ascending bit order:
Color | Decimal | Hexadecimal | Binary |
---|---|---|---|
colors.white | 1 | 0x1 | 0000000000000001 |
colors.orange | 2 | 0x2 | 0000000000000010 |
colors.magenta | 4 | 0x4 | 0000000000000100 |
colors.lightBlue | 8 | 0x8 | 0000000000001000 |
colors.yellow | 16 | 0x10 | 0000000000010000 |
colors.lime | 32 | 0x20 | 0000000000100000 |
colors.pink | 64 | 0x40 | 0000000001000000 |
colors.gray | 128 | 0x80 | 0000000010000000 |
colors.lightGray | 256 | 0x100 | 0000000100000000 |
colors.cyan | 512 | 0x200 | 0000001000000000 |
colors.purple | 1024 | 0x400 | 0000010000000000 |
colors.blue | 2048 | 0x800 | 0000100000000000 |
colors.brown | 4096 | 0x1000 | 0001000000000000 |
colors.green | 8192 | 0x2000 | 0010000000000000 |
colors.red | 16384 | 0x4000 | 0100000000000000 |
colors.black | 32768 | 0x8000 | 1000000000000000 |