API > Redstone & Colors


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

このページでは Redstone API と Colors API について解説する。

参考資料:
執筆時のバージョン:
  • ComputerCraft 1.55 for Minecraft 1.6.2




Redstone API

ComputarやTurtleのレッドストーン入出力を制御する。"redstone"は"rs"と省略可能。

名前に"Bundled"が含まれる関数は、RedPowerのInsulated Wire(絶縁ワイヤー)やBundled Cables(ケーブル束)、【1.53-】MineFactoryReloadedのRedNet Cable(レッドネットケーブル)による入出力専用である。逆に、"Bundled"が含まれない関数ではBundled CablesやRedNet Cableの入出力を利用することができない。

【1.51-】 名前に"Analog"が含まれる関数は、入出力で0~15の信号の強さを利用できる。なお、イギリス綴りで"Analogue"と表記することもできる。

getSides

  • rs.getSides()
  • ComputerやTurtleが利用可能な方向を表す文字列を取得する
  • 戻り値:テーブル型。利用可能な方向を表す文字列のリスト

例:
for k,v in pairs(rs.getSides()) do
  print(v)
end
利用可能な全ての方向を表示する。

getInput

  • rs.getInput( side )
  • side(文字列)方向のレッドストーン入力の状態を取得する
  • 戻り値:ブーリアン型。trueならON、falseならOFF

コンピュータ自身がレッドストーン出力している場合でもtrueを返す。
rs.getInputがtrue かつ rs.getOutputがfalse なら外部からの入力。

side は "left", "right", "top", "bottom", "front", "back" のいずれか(以下同様)。

例:
print(rs.getInput("back"))
後方向からのレッドストーン入力の状態を表示する。

setOutput

  • rs.setOutput( side , state )
  • side(文字列)方向のレッドストーン出力をstate(ブーリアン)に設定する(trueならON、falseならOFF)
  • 戻り値:nil

例:
rs.setOutput("back", true)
sleep(1)
rs.setOutput("back", false)
後方向へのレッドストーン出力をONにして、その一秒後にOFFにする。

getOutput

  • rs.getOutput( side )
  • side(文字列)方向の自身のレッドストーン出力の状態を取得する
  • 戻り値:ブーリアン型。trueならON、falseならOFF

例:
rs.setOutput("left", true)
print(rs.getOutput("left"))
左方向へのレッドストーン出力をONにした後、左方向のレッドストーン出力の状態を表示する。
(この例では true と表示される)

getAnalogInput

【1.51-】
  • rs.getAnalogInput( side )
  • side(文字列)方向のレッドストーン入力の強さを取得する
  • 戻り値:数値型。レッドストーン信号の強さ(0~15)

コンピュータ自身がレッドストーン出力している場合、自身の出力を返す可能性がある。

setAnalogOutput

【1.51-】
  • rs.setAnalogOutput( side, number )
  • side(文字列)方向のレッドストーン出力を強さnumber(数値)に設定する
  • 戻り値:nil

numberは0~15の整数。

getAnalogOutput

【1.51-】
  • rs.getAnalogOutput( side )
  • side(文字列)方向の自身のレッドストーン出力の強さを取得する
  • 戻り値:数値型。レッドストーン信号の強さ(0~15)

getBundledInput

  • rs.getBundledInput( side )
  • side(文字列)方向のレッドストーン入力の状態を取得する(RedPower及び【1.53-】MineFactoryReloaded専用)
  • 戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる

例:
print(colors.test(rs.getBundledInput("back"), colors.blue))
後方向からのレッドストーン入力のうち青ワイヤーがONならtrueを、OFFならfalseを表示する。

setBundledOutput

  • rs.setBundledOutput( side , colors )
  • side(文字列)方向のレッドストーン出力をcolors(数値)に設定する(RedPower及び【1.53-】MineFactoryReloaded専用)。colorsはONにするワイヤーの色に対応した整数値。ONにしなかった色のワイヤーはOFFになる。colorsの値はColors APIで作成できる
  • 戻り値:nil

例:
while(true) do
  rs.setBundledOutput("back", colors.black)
  sleep(2)
  rs.setBundledOutput("back", colors.white)
  sleep(2)
end
後方向へ2秒間隔で交互に黒ワイヤーと白ワイヤーからレッドストーン出力をする。
("while(true)"は"while true"と書くこともできる)

getBundledOutput

  • rs.getBundledOutput( side )
  • side(文字列)方向の自身のレッドストーン出力の状態を取得する(RedPower及び【1.53-】MineFactoryReloaded専用)
  • 戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる

testBundledInput

  • rs.testBundledInput( side , color )
  • side(文字列)方向のレッドストーン入力でcolor(数値)のワイヤーがONかを調べる(RedPower及び【1.53-】MineFactoryReloaded専用)。colorには複数の色を表す値を指定することもでき、その場合はcolorの値に含まれる全ての色がONのときにのみtrueを返す。colorsの値はColors APIで作成できる
  • 戻り値:ブーリアン型。trueならcolorはON、falseならOFF

Colors API

Redstone APIで使用するRedPowerのワイヤーの色を表す値の使用を補助する。イギリス綴りで"colours"と表記することもできる。

色定数

RedPowerのInsulated Wire(絶縁ワイヤー)やMineFactoryReloadedのRedNet Cableの各色を表す整数値の定数。文字色や背景色を指定する際にも用いられる。

定数名 数値(10) 数値(16) 文字色
【-1.53】
文字色
【1.55-】
Image
データ
colors.white 1 0x1   #F0F0F0   #F0F0F0 0
colors.orange 2 0x2   #EB8844   #F2B233 1
colors.magenta 4 0x4   #C354CD   #E57FD8 2
colors.lightBlue 8 0x8   #6689D3   #99B2F2 3
colors.yellow 16 0x10   #DEDE6C   #DEDE6C 4
colors.lime 32 0x20   #41CD34   #7FCC19 5
colors.pink 64 0x40   #D88198   #F2B2CC 6
colors.gray 128 0x80   #434343   #4C4C4C 7
colors.lightGray 256 0x100   #999999   #999999 8
colors.cyan 512 0x200   #287697   #4C99B2 9
colors.purple 1024 0x400   #7B2FBE   #B266E5 a
colors.blue 2048 0x800   #253192   #253192 b
colors.brown 4096 0x1000   #51301A   #7F664C c
colors.green 8192 0x2000   #3B511A   #57A64E d
colors.red 16384 0x4000   #B3312C   #CC4C4C e
colors.black 32768 0x8000   #1E1B1B   #191919 f

全16色のワイヤーの各色を、16ビットのうち特定のビットを1にすることで表現している。これら値の論理和(OR)を取ることにより、複数の色の組み合わせを表現できる。Colors APIの各関数で行っていることは単なるビット演算である(ビット演算を行うにはBit APIを参照)。

combine

  • colors.combine( color1 , color2 , ... )
  • ワイヤーの色をを表す値color1, color2, ...(数値)を合成する。引数は複数指定できる
  • 戻り値:数値型。合成されたワイヤーの色を表す整数値

例:
print(colors.combine(colors.white, colors.magenta, colours.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値(13)を作り、表示する。

subtract

  • colors.subtract( colors , color1 , color2 , ... )
  • ワイヤの色を表す値colors(数値)からcolor1, color2, ...(数値)の値の色を取り除く。引数は複数指定できる
  • 戻り値:数値型。引数で指定した色を取り除いたワイヤーの色を表す値

例:
print(colors.subtract(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.magenta))
白とマゼンタとライトブルーのワイヤーを表す値からマゼンタを取り除いた値(9)を表示する。

test

  • colors.test( colors , color )
  • ワイヤの色を表す値colors(数値)にcolor(数値)の値の色が含まれているかを調べる。colorにも複数の色を表す値を指定することができ、その場合はcolorの値に含まれる全ての色がcolorsに含まれているときにのみtrueを返す
  • 戻り値:ブーリアン型。含まれているならtrue、いないならfalse

例:
print(colors.test(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値にライトブルーが含まれているかを調べて表示する。
(この例では true と表示される)