開発技術情報

提供: Minecraft Wiki
Development Resourcesから転送)
移動先: 案内検索

MinecraftはJavaで書かれている。そしてclassファイルは難読化されているが、Minecraftの内部仕様のほとんどはコミュニティにより解読されている。Notch自身はMinecraftで一般的に使用されているNBTフォーマットについて注釈を述べた。この情報から、NBT形式を使用するファイルの情報が露わになっていった。

NBTフォーマット[編集 | ソースを編集]

NBT形式はMinecraft内のほぼすべてのファイルが使用している。この形式はGZipで圧縮されたタグのツリー構造で、各タグには種類、名前、そして本体データが保存されている。1.2のスナップショット12w07a以降、新しいタグがIndevの頃から存在し続けたタグに加えて追加されていっている。

Levelフォーマット[編集 | ソースを編集]

Minecraftの各エディションではレベルを保存するために独自のファイルフォーマットを使用している。外部ソフトウェア開発者は、マップエディタ、サーバ、レベルジェネレータ、その他のプログラムを作成するために、以下の様々なファイル形式に関する情報を参考にするとよい。 ブロックアイテムデータ値、およびエンティティはすべてのマップタイプについて共通である。

他のフォーマット[編集 | ソースを編集]

  • 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と共に依然作動する。

サーバープロトコル[編集 | ソースを編集]

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のコードをコンパイルするのに必要