Modding


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ComputerCraftに周辺機器やTurtleアップグレードを追加するmodの製作について解説する。
対象:Minecraft Forgeを利用して独自のブロック、アイテムを追加できるmodding初級者以上。

参考資料:
執筆時のバージョン:
  • ComputerCraft 1.52 for Minecraft 1.5.1




概要

CompuerCraftで公開されているComputerCraftAPIを利用して、
  • MonitorやPrinterのようにComputerやTurtleからアクセス可能な 周辺機器(Peripherals)
  • Melee TurtleやCrafty TurtleのようにTurtleに機能を追加する タートルアップグレード(Turtle Upgrades)
をmodとして追加することができる。

ここではCC1.51(Minecraft 1.5)以降でのMOD製作を前提として解説する。
※製作環境の準備方法は同じでも、バージョンによってAPIの仕様が異なる可能性もあるので注意。

CC1.48~1.5(Minecraft 1.4.6/1.4.7)、CC1.47(Minecraft 1.4.5)~CC1.42(Minecraft 1.3.2)、CC1.41以前については、それぞれでComputerCraftAPIやMinecraft Forge、Minecraftの仕様が違うため、それぞれの環境に合わせた準備とコーディングが必要である。

Mod製作環境の準備

CC1.51~のmod製作環境

CC1.51からはComputerCraft本体のzipファイルにAPIのソースコードが添付されるようになったため、別途ダウンロードする必要がなくなった。

  1. Minecraft Modding Wikiなどを参考に、Minecraft Forgeを利用したMod製作環境を準備する
  2. ComputerCraftのzipファイルを解凍し、api\srcフォルダ内のdan200フォルダをforge\mcp\src\minecraftフォルダ内にコピーする

以上で準備は完了。

CC1.48~1.5のmod製作環境

  1. Minecraft Forgeを利用したMod製作環境を準備する
  2. ComputerCraftAPI1.48pr2.zipをダウンロードする
  3. 上記zipファイルを解凍し、srcフォルダ内のdan200フォルダをforge\mcp\src\minecraftフォルダ内にコピーする

CC1.42~1.47のmod製作環境

  1. Minecraft Forgeを利用したMod製作環境を準備する
  2. CC1.41用ComputerCraftAPIをダウンロードする
  3. 上記zipファイルを解凍し、srcフォルダ内のdan200フォルダをMCPフォルダ\src\commonフォルダ内にコピーする
  4. コピーされたdan200\turtle\api\ITurtleAccess.javaをテキストエディタで開くか、Eclipse等のIDEでdan200.turtle.api.ITurtleAccessを開き、20行目の
    public net.minecraft.src.Vec3D getPosition();

    public net.minecraft.src.Vec3 getPosition();
    に修正する
  5. 同様にdan200\turtle\api\TurtleAPI.javaをテキストエディタで開くか、Eclipse等のIDEでdan200.turtle.api.TurtleAPIを開き、44行目の
    ccTurtle = Class.forName( "dan200.turtle.shared.CCTurtle" );

    ccTurtle = Class.forName( "dan200.CCTurtle" );
    に修正する

サンプル解説


API解説

※書きかけ

Modの配布

再コンパイルから配布までの流れは一般的なmodと同じである。

リコンパイルされたComputerCraftAPIについて

再難読化(reobfuscate_srgあるいはreobfuscate)まで終えた時、forge\mcp\reobf\minecraft\dan200フォルダ以下にできるのが配布可能なComputerCraftAPIである。これをmodに含めて配布するかはそのmodの性質による。

  • ComputerCraftの導入を前提とするmod
    → ComputerCraftAPIを同梱する必要はない。ComputerCraftが未導入な環境では、当然エラーが発生してプレイできない。

  • ComputerCraftが無くてもプレイ可能だが、ComputerCraftを導入すると機能が拡張されるmod
    → ComputerCraftAPIを同梱する。