ComputerCraft

現在のこのページの情報は、ComputerCraft(v1.31)時のものです。

MOD名 ComputerCraft
製作者 dan200
配布場所 英語Forum
前提MOD 【ModLoader】,【ModLoaderMP】,【Minecraft Forge】
使用Block ID 207,208,209(3個)
使用Item ID 4000(1個)
使用Sprite ID 1個
使用class なし(※前提MODでの使用分を除く)



目次

このMODについて


マインクラフトの世界に、プログラムの作成・実行とレッドストーン入出力が可能なコンピューター、
プログラムデータを持ち運ぶの為のディスクドライブ・フロッピーディスク、
プログラムで動作させることができるロボットを追加するMOD。

使用できるのはスクリプト言語であるLua。
このMODは前提として、CUIベースでの操作及びある程度のプログラミング知識が要求される為敷居は高い。

RedPower2と連携しており、通常のレッドストーンだけでなく赤合金ワイヤー・絶縁ワイヤー・ケーブル束にも入出力できる。


更新情報

◆v1.3->1.31での変更点
  • Minecraft 1.2.3に対応。
  • モニターブロックを追加。
  • turtleAPIにturtle.compare()機能を追加。
  • 新しいプログラムとAPI(gps・monitor・vector)を追加。
  • 新しいプログラムpastebinを追加(コンフィグでAPI_HTTP=1に設定する必要有) ゲーム内でプログラムをアップロードしたり、他ユーザーのプログラムをダウンロードできる。
  • モニター用に作成されたシークレットプログラムを追加。
  • 多くの既存プログラムとAPIに機能を追加

◆v1.21->v1.3での変更点
+ ...
  • 導入に【Minecraft Forge】が要求されるようになった。
  • Turtle、Mining Turtle、Wireless Turtle、Wireless Mining Turtleを追加。(BlockID 209)
  • MOD製作者向けにPeripheral APIを追加。
  • Wireless Modemを追加。rednetAPIを使ってコンピューターやタートル間でデータを無線でやり取りできる。
  • コンピューターとディスクドライブが水で壊れないように変更。
  • コンピューターとタートルにラベルを付加できるようになった。ブロックが破壊されたり取り除かれても状態を維持できる。
  • コンピューターとタートルは隣接した装置と接続し、ON/OFFできるようになった。
  • エラーメッセージにラインナンバーが表示されるようになり、デバッグが容易になった。
  • タートル用の新しいプログラムとAPIを追加。


ComputerCraftの導入方法


※事前に必要なファイルのバックアップを必ずとること。
※バニラのminecraft.jarに導入する際の手順です。既に7zや前提MODを導入済みの場合はその工程を飛ばしてください。

  1. 正式版1.2.3用のMod LoaderModLoaderMPMinecraft forgeをダウンロード。
  2. Forumの該当ページからComputerCraftをダウンロード。
  3. データを入れるminecraft.jarファイル((ユーザ名)\AppData\Roaming\.minecraft\bin)を探す。
    Appdataはファイル名を指定して実行(デスクトップでWindowsキー+R)で%appdata%と打てば見つかる。
  4. まだしていないのなら、.jarファイルを開く為の7zをダウンロード&インストール。
  5. 7zで3.で見つけたminecraft.jarを7zで展開。
  6. META-INFフォルダがあるなら、minecraft.jarの中のMETA-INFフォルダを削除。
  7. ModLoaderのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  8. ModLoaderMPのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  9. Minecraft Forgeのファイルを展開。中身全部をminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。
  10. 展開していたminecraft.jarを閉じ、一つ上の階層である「.minecraft」フォルダに移動。
  11. 「.minecraft」フォルダ内に「mods」フォルダがあるかどうか確認。無い場合は自分で作成(フォルダ名は全て小文字)
  12. ダウンロードしたComputerCraft1.31のzipファイルを適当な場所で解凍。中のComputerCraftフォルダをそのまま.minecraft\modsフォルダ内にコピー&貼り付けする。
  13. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。






実行可能なコマンド

コマンド名 説明
alias エイリアス一覧を表示する
cp = copy
dir = ls = list
mv = move
rm = remove(delete)
apis API一覧を表示する。
cd カレントディレクトリを移動する
入力形式:cd <path>
上の階層に戻る場合はcd ..と入力する。
clear ログを全消去する。
copy ブログラム又はディレクトリをコピーする
入力形式:copy <source> <destination>
delete プログラム又はディレクトリを消去する
入力形式:delete <path>
dj ディスクドライブにレコードを入れ、このコマンドを実行すると再生を開始する。
drive カレントディレクトリがディスクドライブの場合、
コンピューターに対してディスクドライブがどの方向にあるかを表示する。
ディスクドライブでない場合はhddと表示される。
edit プログラムの作成・編集を開始する
入力形式:edit <path>(作成・編集したいプログラム名)
プログラム作成画面でctrl+Sで保存、ctrl+Eで終了する。
eject ディスクドライブからフロッピーディスクを排出する
入力形式:eject <drive>
exit コンピューターをシャットダウンする。
gps GPSホストの起動、又はGPSホストからの距離取得。
入力形式:gps host
gps host <x> <y> <z>
gps locate
help ヘルプを表示する。またhelp <コマンド又はプログラム>と入力することで詳細を表示する。
id コンピューターのIDを表示する。このIDはコンピューターブロックを設置する度に増加していく。
label コンピューター・タートル・フロッピーディスクのラベルを取得、書き込み、消去できる。
入力形式:label get
label set <text>
label clear
label get <drive>
label set <drive> <text>
label clear <drive>
list カレントディレクトリ内のプログラムとディレクトリを表示する。
lua コードをリアルタイムで実行するInteractive Lua Promptを起動する。
mkdir ディレクトリを作成する
入力形式:mkdir <path>
monitor 隣接したモニターでプログラムを実行する。
入力形式:monitor <side> <program> <arguments>
move プログラム又はディレクトリを移動する
入力形式:move <source> <destination>
programs 実行可能なプログラム及びコマンド一覧を表示する。
reboot コンピューターを再起動する。
redprobe コンピューターに入力されているレッドストーン動力の方向を表示する。
redpulse 指定された間隔でレッドストーン動力を出力する
入力形式:redpulse <side> <count> <period>
redset レッドストーン動力を出力する。redpulseとは違い、こちらはオンのままで維持される。
入力形式:redset <side> <value>
redset <side> <number>
redset <side> <color> <value>
rename プログラム又はディレクトリの名前を変更する
入力形式:rename <source> <destination>
shell OSのバージョンを表示する。
shutdown コンピューターをシャットダウンする。
time マインクラフト世界の時刻を表示する。
type ディレクトリかプログラムかを判別する
入力形式:type <path>
  • コンピューターのみで実行可能なコマンド
adventure マインクラフトをモチーフとしたテキスト形式のアドベンチャーゲームを起動する。
hello Hello World!
worm ワーム(ゲーム)を起動する。
  • タートルのみで実行可能なコマンド
dance タートルが踊り始める。
excavate 採掘を開始する。
入力形式:excavate <radius>
go 指定された方向と距離に移動する。
入力形式:go <diredtion> <distance>
tunnel 3x2のトンネル採掘を開始する。
入力形式:tunnel <length>
turn その場で回転する。
入力形式:turn <direction> <turns>


入力形式の解説

パラメータ名 説明
path 対象のプログラム又はディレクトリのパス。
source 操作の対象となるプログラム又はディレクトリのパス。
destination 対象元の移動先パス。
drive ディスクドライブが設置されている方向。
上:top 下:bottom 左:left 右:right 後ろ:back 前:front
text 入力したい文章。
side コンピューターの各面。driveと同じ。
count 回数。
period 間隔、単位は秒。
value true又はfalse。
number RedPower2の絶縁ワイヤーの各色とその組み合わせに対応した番号。組み合わせ数が膨大な為詳細は省略。
color RedPower2の絶縁ワイヤーの各色。
radius 範囲。タートルが左下に位置するようにNxNの範囲となる。
direction 方向。上:up 下:down 前:forward 後ろ:back 右:right 左:left
distance 距離。
length 長さ。
turns 回転数。数字1あたり90度回転する。
x,y,z 座標。
program プログラム名。
arguments プログラムに指定するパラメータ。


API

プログラム内で呼び出し可能な各種API。
項目が多岐に渡る為、詳細はゲーム内のhelp <API名>またはLua解説サイト等を参照して下さい。
API名 説明
bit ビット操作を行う為のAPI。
colors RedPower2の絶縁ワイヤーに出力する際の色について操作を行うAPI。
redstoneAPIと組み合わせて使う。
colours colorsと同じ。
coroutine Luaに標準搭載されているコルーチンAPI。
disk ディスクドライブへの操作を行うAPI。
fs ファイルシステムの操作を行うAPI。
io IOシステムの操作を行うAPI。画面に文字を表示したり、入力を要求するプログラムに用いる。
math 数学的処理を行うLuaの標準搭載API。
os OSの各種機能を呼び出すAPI。
parallel 複数の関数を同時実行する為のAPI。
rednet レッドストーンを用い、コンピューター同士で簡易なネットワークを構築するためのAPI。
redstone レッドストーンの入出力指定を行うAPI。
rs redstoneAPIと同じ。
shell プログラムの起動などシェルの機能を呼び出すAPI。
string 文字列の処理を行うLuaの標準搭載API。
table テーブルの処理を行うLuaの標準搭載API。
term カーソルの位置やスクロールなどの画面処理を行うAPI。
textutils 文字処理を簡易にしてくれるユーティリティAPI。
turtle タートルコントロール用のAPI。
peripheral 外部MODとの連携用API。
gps 現在座標測定用のgpsAPI。
vector 3次元ベクトル演算用API。



Tips

  • プログラム名を「startup」にしてルートディレクトリに置いておくと、コンピュータ起動時に自動的に実行される。
  • ctrl+Tでプログラムの強制終了、ctrl+Sでシャットダウン、ctrl+Rで再起動のショートカットが使える。
  • レッドストーンの回路として使う場合など、プログラムを終了させずに常駐させておく必要がある時
    普通にループ処理を構築するだけでは「Too long without yielding」と表示されプログラムが終了してしまう。
    これを回避するためには、プログラムの途中にsleep()処理を入れる必要がある。
    ()内には0.05(=1tick)程度を入れておけば問題ない。
    ループ以外の方法としては、os.pullEvent()を使えば入出力の変化があるまで処理を停止することができる。
  • Turtleは正面から見て左側がright、右側がleftになっているので注意。
  • Wireless TurtleとWireless Mining Turtleにはright面にワイヤレスモデムが接続されており、
    この面からはレッドストーン出力ができず入力も感知しない。



チュートリアル




サンプルプログラム

タグ:

+ タグ編集
  • タグ:
最終更新:2012年04月04日 20:19
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。