Minecraftとタートルと僕

PCゲームMinecraftのMOD「ComputerCraft」の情報を集めたニッチなブログです。

こちらのページは更新が滞っており、情報が古くなりつつあります。新しいCC情報サイトをはじめましたので、もしよければご参照ください。今後ともよろしくお願い申し上げます。

「百億のマインクラフトと千億のタートル」(https://hevo2.hatenablog.com/)

Minecraft1.6.4とComputerCraftインストールの手順(2)

はじめに

今回は以下の内容をお送りする予定です。

  1. Minecraft1.6.4のインストール方法  ←前回説明しました
  2. Forgeのインストール  ←前回説明しました
  3. ComputerCraftのインストール  ←今回
  4. ComputerCraft環境整備  ←今回

用意するもの

  • 前回用意したMinecraft1.6.4+Forge環境
  • デスクトップに、GameDirectoryを開くためのショートカット

ComputerCraftのインストール

ファイルダウンロード

CC公式ページより
http://www.computercraft.info/download/

MC1.6.4用の最新版をダウンロードしてください。
2014年1月13日現在は、ComputerCraft1.58が最新のようです。

インストール

デスクトップにあるGameDirectoryを開くためのショートカットをダブルクリックして開いてください。
前回のとおり行っていると、以下のパスにあるディレクトリ(=フォルダ)が開くはずです。

C:\Users\ユーザー名\AppData\Roaming\.minecraft\versions\1.6.4-Forge9.11.1.965

以下はGameDirectoryの中を表示したものです。
f:id:hevohevo:20140113191558p:plain

これらディレクトリ、ファイルの簡単な説明

  • 「config」フォルダ: インストールした各Modの設定ファイルが入っています。
  • 「mods」フォルダ: ここに各Modを、ZIP(jar)のまま放り込みます。
  • 「resourcepacks」: MC1.6.xから実装されたフォルダでテクスチャパックなどを置く場所。ただしテクスチャパック自体は1.5.x以前のものと互換性はない。また、ComputerCraftなど一部Modで読むこむファイルを置く場所としても使われている。詳しくは後述。
  • 「saves」フォルダ: セーブデータが保存される場所だが、各種Modのデータを保存する場所としても使われている。詳しくは後述。
  • 「stats」フォルダ: ゲーム内の業績データや、統計データが保存されている。
  • 「1.6.4-Forge9.11.1.965.jar」 マインクラフト本体のバイナリファイル
  • 「1.6.4-Forge9.11.1.965.json」 上記バイナリファイルの設定ファイル。テキストファイルだが、ユーザーがいじる必要は基本的に無い。
  • 「ForgeModLoader-client-0.log」 Forgeが出すメッセージを記述したログファイル。エラーメッセージなど重要な情報が多く含まれるため、Modを入れて起動しないなどのトラブル時にはこれを熟読すること。
  • 「output-client.log」 (たぶん)マインクラフト本体が出すメッセージを記録したもの?(上記logファイルとの違いがよくわかりません)


それでは、ダウンロードした「ComputerCraft1.58.zip」を、「mods」フォルダにそのまま入れてください。
インストール完了です。お疲れ様でした。

ゲームを起動して、ComputerCraftが正常に読み込まれており、タートルなども問題なく使えることを確認してください。

CCプログラミング環境の構築

※以下、CCコンピュータに関する記述はタートルも同様にあてはまります。

CCでプログラミングをするためには、Lua言語でプログラムを書き、ファイルに保存しなくてはなりません。
たとえばCCコンピュータ内でファイルを編集するためには、「edit <ファイル名>」コマンドを使います。
しかしこのコマンドによる編集、本当に基本的な機能しかなくて不便なんですよね。
数行程度のプログラムを書くならともかく、それ以上のプログラムを書くにはあまりにも力不足です。

そこで、CCコンピュータ内のファイルを、ゲーム外から直接編集したくなるわけです。
CCコンピュータのディレクトリ構造については、以下の記事で詳細に解説しました。
CCのディレクトリを理解する(基本編) - Minecraftとタートルと僕


「/」(ルート)ディレクトリのファイルを直接編集する

名前をつけてやろう

CCコンピュータの基本ディレクトリは「/」(ルート)です。再起動したらこのルートをホームディレクトリとして開始します。
ゲーム内でプログラムを作ったら、そのプログラムはまずこのディレクトリに保存することになります。

ただし保存はできるのですが、CCコンピュータをツルハシなどでアイテム化すると中のプログラムは消えてしまいます。
これを防ぐためにはコンピュータに名前をつけなくてはなりません。名前をつけるためには、「label」コマンドを使います。

-- label set <name>
> label set TEST

これで、アイテム時にスタックできる一般コンピュータから、アイテム時に名前がついた個別のコンピュータに変わりました。

ファイルを保存してみる

例えばここで「edit」コマンドを使って、適当なファイルを作ってみましょう。

-- 「myfile」というファイルを編集するコマンド。画面内でエディタが起動して編集できるようになる。
> edit myfile

画面内でエディタが起動しますが、適当に書き込んで保存しましょう。「CTRL」キーを押すとメニューを呼び出すことができ、
「Save」→「Exit」の順に選択すると、ファイルを保存して終了します。

これで、CCコンピュータのルートディレクトリに「myfile」を保存できました。
それではWindowsでは、このファイルがどこに保存されるのでしょうか。

作ったファイルが保存されている場所

その答えは、前述の、GameDirectory内の「saves」フォルダ内です。
「saves」フォルダの中→ 「あなたが作ったワールド名」フォルダの中→ 「computer」フォルダが、保存したファイルを保存している場所です。
フルパスで言うと、以下のとおり。

C:\Users\ユーザー名\AppData\Roaming\.minecraft\versions\1.6.4-Forge9.11.1.965\saves\ワールド名\computer\

また、GameDirectoryという言葉を使って言い換えるなら次のとおり。

GameDirectory\saves\ワールド名\computer\

このフォルダをWindowsで開くと、以下のようなファイル・ディレクトリがあります。
f:id:hevohevo:20140114012810p:plain

  • 「0」フォルダ: 半角数字のフォルダが複数あるが、この数字は、CCコンピュータのIDに該当する。このフォルダに各コンピュータのファイルが保存される。
  • 「labels.txt」: CCコンピュータのIDと名前の対応リストが書かれているテキストファイル。
  • 「lastid.txt」: コンピュータ設置時に自動的に割り振られるIDが何番まで使われたのかを記述したファイル。ユーザーがこのファイルを気にする必要はない。

ここで重要なのは、「0」のような半角数字で名前付けられたフォルダです。この数字フォルダがコンピュータ内で保存したファイルの実際の保存場所になります。
つまり、IDが「0」であるコンピュータに保存してあるファイルを編集したければ、この「0」フォルダの中にあるファイルを編集すればいいわけです。
もちろんこの逆に、インターネットからダウンロードしてきたファイルを「0」フォルダにドラッグ&ドロップすると、IDが「0」のコンピュータのルートディレクトリにファイルをインストールできます。

自分の愛用するエディタ*1がある場合は、この数字フォルダの中のファイルを直接編集してしまえば良いわけです。
編集した内容はリアルタイムでCCコンピュータ内に反映されるので、ゲーム起動中にファイル編集しても問題ありません。

「/rom/」ディレクトリを編集する方法

読み専用ディレクトリについて

CCのディレクトリを理解する(基本編) - Minecraftとタートルと僕 で詳しく説明しましたが、
CCコンピュータの「/」(ルート)ディレクトリ内にある「/rom/」ディレクトリは、
CCコンピュータ重要なプログラム・APIが大量に入っているため読み専用ディレクトリとなっています。
そのため、ゲーム内のCCコンピュータからこのディレクトリを編集することはできません。

しかし、「既存のAPIを書き換えたい」「全てのコンピュータで使えるようにromにプログラムをインストールしたい」といった要望から、このディレクトリを書き換えたくなることがあるかもしれません。
その場合は、以下の手順で設定することにより、「/rom/」ディレクトリを自由に編集できるようになります。

手順1: ComputerCraft1.58のZIPファイルを展開する

まず、ゲームはかならず終了しておいてください。

そしてダウンロードして「mods」フォルダにインストールした「ComputerCraft1.58.zip」ファイルを、別の場所(たとえばデスクトップとか)に一時的にコピーして展開してください。
以下のようなフォルダ・ファイルがあるはずです。
赤丸で囲った、「assets」フォルダが重要です。
f:id:hevohevo:20140114022044p:plain
これはそのままに置いて、次の手順に進みます。

手順2: 「resourcepacks」フォルダに新しいフォルダを作る

デスクトップに作ったショートカットなどを利用して、GameDirectory内の「resourcepacks」フォルダを開いてください。
そしてそこに、「ComputerCraft」のような名前でフォルダを新しく作ります。

手順3: 「assets」フォルダを新しく作ったフォルダ内にコピーする

手順1でみつけた「assets」フォルダを、手順2で新しく作った「ComputerCraft」フォルダ内に丸ごとコピーします。

結果として、次のようなフォルダ構造になるはずです。

GameDirectory \resourcepacks\ComputerCraft\assets\

あとは自由に編集

この「assets」フォルダの中を探っていくと、「assets」→「computercraft」→「lua」→「rom」とたどることができます。
この「rom」フォルダが、CCコンピュータの読み専用「rom」ディレクトリに対応するので、この「rom」フォルダの中を編集することで自由に書き換えることができます。

まとめ

今回は、CCのインストール方法と、CCプログラミングのための環境設定について解説しました。

特にCCプログラミングを快適にするために、CCコンピュータ内のファイルをゲーム外から直接編集する方法を二通り紹介しました。
一つは「saves」フォルダを使ったルートディレクトリを編集する方法、もう一つは「resourcepack」フォルダを使った「rom」ディレクトリの編集方法です。

僕の場合は、デバッグ作業などを繰り返す試作段階のプログラムは「saves」フォルダ内で編集し、最終的に完成したプログラムを「rom」フォルダ内にインストールしています。

*1:特にない人は「sublime text2」あたりが最近流行っているのでいいんじゃない? 僕はxyzzy+lua-modeというどマイナーな環境でやってます。