開発技術情報
MinecraftはJavaで書かれている。そしてclassファイルは難読化されているが、Minecraftの内部仕様のほとんどはコミュニティにより解読されている。Notch自身はMinecraftで一般的に使用されているNBTフォーマットについて注釈を述べた。この情報から、NBT形式を使用するファイルの情報が露わになっていった。
NBTフォーマット[編集 | ソースを編集]
NBTフォーマットはMinecraft内のほぼすべてのファイルが使用している。この形式はGZipで圧縮されたタグのツリー構造で、各タグには種類、名前、そして本体データが保存されている。1.2のスナップショット12w07a以降、新しいタグがIndevの頃から存在し続けたタグに加えて追加されていっている。
Levelフォーマット[編集 | ソースを編集]
Minecraftの各エディションではレベルを保存するために独自のファイルフォーマットを使用している。外部ソフトウェア開発者は、マップエディタ、サーバ、レベルジェネレータ、その他のプログラムを作成するために、以下の様々なファイル形式に関する情報を参考にするとよい。 ブロック、アイテム、データ値、およびエンティティはすべてのマップタイプについて共通である。
- Classicレベルフォーマット:Minecraft Classicのサバイバル、クリエイティブ、およびマルチプレイヤー版
- Indevレベルフォーマット:Minecraft Indev
- Alphaレベルフォーマット:Minecraft Alpha(以前はMinecraft Infdevで使用)
- レベルフォーマット:Minecraft 1.0
- Player.datフォーマット:プレイヤーの状態
- Anvilファイルフォーマット:Minecraft 1.0の1.2以降
- Regionファイルフォーマット:Minecraft Betaの1.3以降
- Chunkフォーマット:リージョン内にある16 x 256 x 16の各チャンク
- Regionファイルフォーマット:Minecraft Betaの1.3以降
- 地図アイテムフォーマット:クラフト可能なMapアイテムに表示される色
- Villages.datフォーマット:レベル内の村の状態
- ストラクチャーブロックファイルフォーマット:ストラクチャーブロックに保存されたデータ
- Bedrock Editionレベルフォーマット:Bedrock Edition用
他のフォーマット[編集 | ソースを編集]
- Servers.datフォーマットは、マルチプレイヤーサーバーのリストを保存するために使用される。
- スケマティックファイルは、後で使用するマップのセクションを保存するためにいくつかのサードパーティ製ユーティリティによって使用されるNBTファイルである。
ライブラリ[編集 | ソースを編集]
これらはMinecraftが使用する様々なファイルと相互作用するコミュニティが作成したライブラリである。
名前/リンク | 言語 | 説明 |
---|---|---|
MCModify | Java/C++ | Minecraft関連の全形式を読込・操作・保存できるライブラリ |
Example NBT Class | Java | 基本総当たり式のNBT読み書き用Javaクラス |
Example Classic Level Class | Java | 古いLevelを読み書きできるJavaのクラス |
Substrate | C# | Levelを読み書きできるC#のクラス |
Craft.Net | C# | サーバー向けソフトウェアの記述、ワールドの操作などができるC#ライブラリ |
c10t | C++ | Minecraft用の地図を作成できるオープンソースのツール |
libnbt++ | C++ | NBT構造を閲覧・編集する為のC++ライブラリ |
CNBT | C | NBT構造を編集する為のCライブラリ |
Minecraft-Perl | Perl | Minecraft関連ファイルを編集する為のPerlライブラリ |
Python NBT Parser | Python | NBT構造を編集する為のPythonライブラリ |
pymclevel | Python | Levelを編集する為のPythonライブラリ。MCEditはこのライブラリに基づいている。 |
J2Blocks | Java | Minecraftの世界を簡単に作成する為のJavaライブラリ |
Mod作成補助ツール[編集 | ソースを編集]
- Minecraft Coder Pack—Minecraftのクライアント及びサーバ両方に向けたMODを作成・編集する。
- Techne—モデル用ソフト。ゲームで使うためのモデルを独自に作成する。標準モデルのライブラリもある。
- FMCModeler ゲームで使うためのモデルを独自に作成できる。制限はあるもののJava原稿から作成することも可能。Flashで記述されている。もはや更新されていないようだが、CustomRendererと共に依然作動する。
サーバープロトコル[編集 | ソースを編集]
- Classic Server ProtocolはMinecraft Classic Creative Multiplayerサーバで使用されています。
Minecraft Betaサーバプロトコルに関する情報は、Minecraft Coalition Wikiを参照してください。
リソース[編集 | ソースを編集]
URL | プログラム・説明 | 対象OS | 備考 |
---|---|---|---|
http://www.delorie.com/djgpp/ | Windowsに移植されたGCC | Windows | |
http://www.cygwin.com/ | Unix環境をWindows上に構築する | Windows | Windowsでの利用に最適 |
http://www.microsoft.com/express/ | Microsoft Visual Studio Express | Windows | C++,C#及びVisual Basic向けの統合開発環境・コンパイラであるVisual Studioの無償版 |
http://java.sun.com/javase/downloads/index.jsp | Java Development Kit download | 汎用 | Javaのコードをコンパイルするのに必要 |
ヘルプ | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
技術情報 | |||||||||||||||||
エディション |
| ||||||||||||||||
ゲーム |
| ||||||||||||||||
映画 |
| ||||||||||||||||
小説 |
| ||||||||||||||||
その他メディア | |||||||||||||||||
イベント |
| ||||||||||||||||
公式商品 | |||||||||||||||||
その他 |