提供: Minecraft Modding Wiki
移動先: 案内検索
(チュートリアル項目を編集)
(タートルアップグレード: 項目修正)
130行目: 130行目:
  
 
=== タートルアップグレード ===
 
=== タートルアップグレード ===
*[[ComputerCraft_API/ツールタイプの追加|ツールタイプの追加]]
+
*[[ComputerCraft_API/ツールタイプTurtleの追加|ツールタイプTurtleの追加]]
*[[ComputerCraft_API/周辺機器タイプの追加|周辺機器タイプの追加]]
+
*[[ComputerCraft_API/周辺機器タイプTurtleの追加|周辺機器タイプTurtleの追加]]
  
 
<!-- あったらいいな
 
<!-- あったらいいな

2014年11月26日 (水) 01:51時点における版

この記事は執筆中です。加筆してくださる人を募集しています。

この記事は"Minecraft Forge Universal 10.13.0.x~"及び"ComputerCraft 1.65~"を前提MODとしています。

ComputerCraftのComputerから利用可能な周辺機器やTurtleに装着可能なTurtle Upgradeなどを追加することができる。

概要

ComputerCraft APIを利用して以下のようなブロックやアイテムを追加できる

  • ComputerやTurtleから利用可能な周辺機器ブロック
  • Turtleへ装着可能なツールや周辺機器(Turtle Upgrade)

開発環境への導入方法

ComputerCraftの前提MODであるMinecraftForgeがMOD開発環境に導入されている必要がある。
これらの導入方法はMOD開発環境を作るMinecraftForge導入手順のページを参照。

  1. ComputerCraftをダウンロード
  2. ダウンロードしたjarを解凍
    • 拡張子をzipに変更して解凍する
  3. ソースコードを移動
    • 解凍したjarのapi\srcフォルダ内にある「dan200」フォルダを、(プロジェクトフォルダ)\src\api\javaフォルダ内に移動する
      • Eclipseで利用する場合、導入後にsrc/api/javaフォルダをビルド・パスでソース・フォルダとして使用する設定にする
    • APIをjarファイルとして導入していないので、チュートリアルでは「1.7でjar形式でないAPIを利用する方法」を参照の事
    • APIのドキュメント(英語)は解凍したjarのapi\docフォルダにある

デバッグ方法

このAPIはリコンパイル時にエラーが出なくなるだけなので、modding環境上でのデバッグは「MinecraftForge導入手順#デバッグ」を参考にしつつ、modding環境のゲームフォルダ内のmodsフォルダにCodeChickenCore dev版とComputerCraftのjarをコピーした上で行う。

関連リンク

ComputerCraft API

実装する」と書かれているものは追加したい機能に応じて実装する必要のあるインターフェース。
以下「Computer」は特に断りのない限りComputerとTurtleを指す。

dan200.computercraft.api

  • クラス
    ComputerCraftAPI
    ComputerCraft APIへの静的エントリーポイント。ComputerCraftへの各種登録等

dan200.computercraft.api.filesystem

  • インターフェース
    IMount
    Computerへマウント可能な架空のファイルシステム(読み込み専用)
    ComputerCraftAPI.createResourceMount() で取得。IComputerAccess.mount() でComputerへマウント
    IWritableMount
    Computerへマウント可能な架空のファイルシステム(読み書き可能)。IMount のサブインターフェース
    ComputerCraftAPI.createSaveDirMount() で取得。IComputerAccess.mountWritable() や IComputerAccess.mount() でComputerへマウント

dan200.computercraft.api.lua

  • インターフェース
    ILuaContext
    Computerから周辺機器やILuaObjectへ渡され、処理を中断してイベントを待つことが可能なメソッドを提供する
    ILuaObject
    IPeripheral.callMethod()で返されるカスタムオブジェクトを実装する
  • 例外
    LuaException
    Lua内での例外。指定メソッド内でthrowすると処理を中断してComputerにエラーメッセージを表示できる

dan200.computercraft.api.media

  • インターフェース
    IMedia
    Disk DriveなどにセットしてComputerから利用可能なメディアを実装する
    createDataMount() で IMount を返せば記録メディアとなり、getAudioRecordName() でリソース名を返せば音楽メディアとなる
    IMediaProvider
    Disk DriveなどでItemStackから対応した IMedia を提供するために実装する
    ComputerCraftAPI.registerMediaProvider() でComputerCraftに登録する

dan200.computercraft.api.peripheral

  • インターフェース
    IComputerAccess
    Computerから周辺機器へ渡され、周辺機器から呼出し可能なメソッドを提供する
    IPeripheral
    周辺機器の動作を実装する
    実装クラスのインスタンスを返すように実装した IPeripheralProvider のインスタンスを ComputerCraftAPI.registerPeripheralProvider() でComputerCraftに登録する
    IPeripheralProvider
    特定のブロックを周辺機器として扱うための IPeripheral を提供するために実装する
    ComputerCraftAPI.registerPeripheralProvider() でComputerCraftに登録する

dan200.computercraft.api.redstone

  • インターフェース
    IBundledRedstoneProvider
    16チャンネル(ON/OFFのみ)のレッドストーン出力を提供するために実装する
    ComputerCraftAPI.registerBundledRedstoneProvider() でComputerCraftに登録する

dan200.computercraft.api.turtle

  • インターフェース
    ITurtleAccess
    TurtleからTurtle Upgradeへ渡され、Turtle Upgradeから呼出し可能なメソッドを提供する
    ITurtleCommand
    カスタム・タートル・コマンドを実行するために実装する
    ITurtleAccess.executeCommand() で使用する
    ITurtleUpgrade
    Turtle Upgradeの定義を実装する
    ComputerCraftAPI.registerTurtleUpgrade() でComputerCraftに登録する
  • クラス
    TurtleCommandResult
    Turtleが実行したコマンドの成否を表す
    ITurtleUpgrade.useTool() や ITurtleCommand.execute() の戻り値として使う
  • 列挙型
    TurtleAnimation
    Turtle行動時のアニメーションの種類
    { MoveBack, MoveDown, MoveForward, MoveUp, None, SwingLeftTool, SwingRightTool, TurnLeft, TurnRight, Wait }
    TurtleSide
    Turtle Upgradeが装着されるTurtleの方向を表す
    { Left, Right }
    TurtleUpgradeType
    Turtle Upgradeのタイプ
    { Peripheral, Tool }
    TurtleVerb
    ToolタイプのTurtle UpgradeにおけるTurtleの行動の種類
    { Attack, Dig }

チュートリアル

周辺機器

タートルアップグレード