このページでは、動画に関連して以下のAPIを解説する。(動画と表記が異なっている部分もあります)
※解説は Minecraft 1.2.5、ComputerCraft 1.43 時点のものです。
※→ComputerCraft 1.33 版の記事
参考資料
このページの内容は、以下の資料を参考にしている。
Turtle API
Turtle(タートル)の動作を制御する。
- turtle.refuel( [amount] )
- turtle.getFuelLevel()
- turtle.forward()
- turtle.back()
- turtle.up()
- turtle.down()
- turtle.turnLeft()
- turtle.turnRight()
- turtle.select( slotNum )
- turtle.getItemCount( slotNum )
- turtle.getItemSpace( slotNum )
- turtle.craft( [amount] )
- turtle.dig()
- turtle.digUp()
- turtle.digDown()
- turtle.place( [signText] )
- turtle.placeUp( [signText] )
- turtle.placeDown( [signText] )
- turtle.detect()
- turtle.detectUp()
- turtle.detectDown()
- turtle.compare()
- turtle.compareUp()
- turtle.compareDown()
- turtle.compareTo( slotNum )
- turtle.drop( [amount] )
- turtle.dropUp( [amount] )
- turtle.dropDown( [amount] )
- turtle.suck()
- turtle.suckUp()
- turtle.suckDown()
- turtle.attack()
- turtle.attackUp()
- turtle.attackDown()
Turtleに何らかの行動させる関数は、その行動の結果が返ってくるまで次の処理へは進まない。
refuel
- turtle.refuel()
turtle.refuel( amount ) - 選択スロットのアイテムを全部、またはamount(数値)個だけ消費して燃料を補給する
- 戻り値:ブーリアン型。燃料補給に成功したらtrueを、失敗したらfalseを返す
燃料になるアイテムはかまどと同じで、かまどでの燃焼時間(秒)×1.2が補給量である。
| 溶岩バケツ※ | ブレイズロッド | 石炭・木炭 | 原木・木材 | 棒・苗木 |
| 1200 | 144 | 96 | 18 | 6 |
1.42以前ではTurtleを破壊すると、補給した燃料はすべて消えてしまう。
1.43からラベルを付けたTurtleは破壊しても燃料が消えなくなった。
getFuelLevel
例:
燃料を補給し、燃料の量を表示する。
移動
- turtle.forward()
turtle.back()
turtle.up()
turtle.down() - Turtleを1メートル前進(forward)、後退(back)、上昇(up)、下降(down)させる。
1メートルの移動につき燃料を1消費する(cfgファイルで変更可) - 戻り値:ブーリアン型。移動に成功したらtrueを、失敗したらfalseを返す
例:
Turtleに1メートル後退するように命令し、その結果を表示する。
(後退に成功したら"true"が、失敗したら"false"が表示される)
回転
- turtle.turnLeft()
turtle.turnRight() - Turtleを90度左(turnLeft)、右(turnRight)へ回転させる
- 戻り値:ブーリアン型。回転に成功したらtrueを返す
例:
Turtleを左へ90度回転させ、その結果を表示する。
(回転には失敗することが無いので、"true"が表示される)
select
- turtle.select( slotNum )
- slotNum(数値)番目のスロットを選択する。スロットの番号は下記の表を参照
- 戻り値:ブーリアン型。選択に成功したらtrue。slotNumが無効(1未満または17以上)の場合はエラー
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 |
getItemCount
getItemSpace
- turtle.getItemSpace( slotNum )
- slotNum(数値)番目のスロットのアイテムの空き数を取得する
- 戻り値:数値型。アイテムの空き数を整数値で返す。空のスロットは64を返す。
craft
- turtle.craft()
turtle.craft( amount ) - Turtleインベントリ内の3×3のスロットをクラフトテーブルとして、各スロットに配置したアイテムからクラフトする。
材料があるだけ(引数省略時)、またはamount(数値)個だけクラフトする - 戻り値:ブーリアン型。クラフトに成功したらtrueを、失敗したらfalseを返す
何れかのスロットにレシピに関係ないアイテムがあった場合は失敗する。
実際にクラフト可能な最大数は、完成品が1スロットに収まるだけの数である。例えば、原木64個からは木材64個がクラフトされ、原木48個が残る。同様に、サトウキビ64個x3からは紙63枚がクラフトされ、サトウキビ43個x3が残る。
完成品は選択スロットに入るが、選択スロットに材料が残っている場合はそれ以降のスロットに入る。
dig
- turtle.dig()
turtle.digUp()
turtle.digDown() - Turtleの正面(dig)、真上(digUp)、真下(digDown)を1ブロック掘る
- 戻り値:ブールリアン型。採掘に成功したらtrue、採掘できなかったらfalseを返す
対象のブロックが掘れるかどうかはTurtleごとに決まっている。掘ったブロックを獲得できるかどうかはTurtleに装着されている道具で判定される。
| Turtle | 破壊可能ブロック | 獲得判定ツール |
| Mining | 岩盤以外何でも | ダイヤツルハシ |
| Felling | 岩盤以外何でも | ダイヤ斧 |
| Digging | 雪、土系、砂系、草系、葉系、カボチャ系 | ダイヤシャベル |
| Farming | 草系、葉系、カボチャ系 | ダイヤクワ |
| Melee | 草系、葉系、蜘蛛の巣、羊毛ブロック | ダイヤ剣 |
掘ったブロックを獲得できる場合、選択スロットへ収納される。選択スロットへ収納できなかった場合は、それ以降のスロットに収納される。全スロットに収納できなかった場合は、その場にアイテムとしてドロップする。
Farming Turtle(クワ)では土ブロックや草ブロックを耕すことができる。
| turtle.dig() | 正面にあり、 その真上が空気である土・草ブロック 正面が空気であり、 その真下にある土・草ブロック |
| turtle.digUp() | 真上にあり、 その真上が空気である土ブロック |
| turtle.digDown() | 真下が空気であり、 その真下にある土・草ブロック |
例:
Turtleに正面のブロックを採掘するように命令し、その結果を表示する。
(採掘できたら"true"が、できなかったら"false"が表示される)
place
- turtle.place()
turtle.placeUp()
turtle.placeDown()
turtle.place( signText )
turtle.placeUp( signText )
turtle.placeDown( signText ) - Turtleの正面(place)、真上(placeUp)、真下(placeDown)へ選択スロットのブロックを設置する。
看板設置時に看板に記載する文章をsignText(文字列)で指定できる。
一部の道具をTurtleの正面(place)、真上(placeUp)、真下(placeDown)の対象に対して使用する(動画参照) - 戻り値:ブーリアン型。設置に成功したらtrueを、失敗したらfalseを返す
1.4になって多くのブロックが意図した通りに置けるようになったが、やはり念のために事前テストを推奨。
看板は基本的に地面に立てる形で設置される。ブロック側面への設置方法は動画を参照。引数の文字列中に改行文字(\n)を含めるとそこで改行できる。看板の仕様通り4行まで表示可能。5行目以降は表示されない。
detect
- turtle.detect()
turtle.detectUp()
turtle.detectDown() - Turtleの正面(detect)、真上(detectUp)、真下(detectDown)にブロックが存在するか調べる
- 戻り値:ブーリアン型。ブロックが存在したらtrueを、しなかったらfalseを返す
例:
正面にブロックがあったら、それを採掘する。
compare
- turtle.compare()
turtle.compareUp()
turtle.compareDown() - Turtleの正面(compare)、真上(compareUp)、真下(compareDown)のブロックと選択スロットのアイテムを比較する
- 戻り値:ブーリアン型。比較結果が等しかったらtrueを、等しくなかったらfalseを返す
木の種類や羊毛ブロックの色などダメージ値の違いも別ブロックとして区別される。
compareTo
- turtle.compareTo( slotNum )
- slotNum番目のスロットと選択スロットのアイテムを比較する
- 戻り値:ブーリアン型。比較結果が等しかったらtrueを、等しくなかったらfalseを返す
drop
- turtle.drop()
turtle.dropUp()
turtle.dropDown()
turtle.drop( amount )
turtle.dropUp( amount )
turtle.dropDown( amount ) - 選択スロットのアイテムを全部、またはamount(数値)個だけTurtleの正面(drop)、真上(dropUp)、真下(dropDown)からドロップする
- 戻り値:ブーリアン型。ドロップが成功したらtrueを、失敗したらfalseを返す
ドロップ先がチェストやかまど、Turtleなどインベントリを持つブロックだった場合は、そのインベントリに左上から順番にアイテムが収納される。インベントリに1つも収納できない場合はアイテムの移動は行われずfalseを返す。一部だけでも収納する余裕がある場合はその分だけアイテムを移動しtrueを返す。
かまどを扱う場合、燃料スロットはかまどの下面から、材料スロットはかまどの上面から、精錬品スロットはかまどの側面からアクセスできる。
suck
- turtle.suck()
turtle.suckUp()
turtle.suckDown() - Turtleの正面(drop)、真上(dropUp)、真下(dropDown)に落ちているアイテムを一塊だけ拾得する
- 戻り値:ブーリアン型。拾得に成功したらtrueを、失敗したらfalseを返す
拾得先がチェストやかまど、Turtleなどインベントリを持つブロックだった場合は、そのインベントリの左上にあるアイテムから順番にTurtleの選択スロットへ収納する。
拾得したアイテムが選択スロットに収納できない場合は、それ以降のスロットに収納される。どのスロットにも収納できない場合はアイテムの移動は行われずにfalseを返す。一部だけでも収納する余裕がある場合はその分だけアイテムを収納しtrueを返す。
attack
- turtle.attack()
turtle.attackUp()
turtle.attackDown() - Turtleの正面(detect)、真上(detectUp)、真下(detectDown)にいる対象を攻撃する
- 戻り値:ブーリアン型。攻撃が成功したらtrueを、失敗したらfalseを返す
攻撃力はTurtleに装着されている道具(武器)のごとに決まっている。
攻撃されたMobは攻撃したTurtleに対して敵対行動をする。
Mobを倒すと経験値やプレイヤーによる撃破限定のアイテムもドロップする。ドロップしたアイテムは経験値を除いてタートルに収納される。
| Melee(剣) (10) |
Felling(斧) (6) |
Mining(ツルハシ) Digging(シャベル) (2) |
Farming(クワ) (1) |
|
| Spider HP16 | 2 | 3 | 8 | 16 |
| Skeleton HP20 | 2 | 4 | 10 | 20 |
| Creeper HP20 | 2 | 4 | (10)※ | (20)※ |
| Zombie HP20 AP2 | 3 | 4 | 11 | 22 |
| Enderman HP40 | 4 | 7 | 20 | 40 |
※倒す前に自爆
関連項目
- 0
- 0pt

