提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
7行目: | 7行目: | ||
ComputerCraft APIを利用して以下のようなブロックやアイテムを追加できる | ComputerCraft APIを利用して以下のようなブロックやアイテムを追加できる | ||
− | * ComputerやTurtleから利用可能な周辺機器ブロック | + | *ComputerやTurtleから利用可能な周辺機器ブロック |
− | * Turtleへ装着可能なツールや周辺機器(Turtle Upgrade) | + | *Turtleへ装着可能なツールや周辺機器(Turtle Upgrade) |
− | * Disk | + | <!-- 以下調査中 |
− | * ComputerやTurtleに対して16チャンネルのレッドストーン入出力が可能なブロック | + | *Disk Driveなどから読み込み可能なメディアアイテム |
+ | *ComputerやTurtleに対して16チャンネルのレッドストーン入出力が可能なブロック | ||
+ | --> | ||
=== 開発環境への導入方法 === | === 開発環境への導入方法 === | ||
16行目: | 18行目: | ||
これらの導入方法は[[MOD開発環境を作る]]、[[MinecraftForge導入手順]]のページを参照。 | これらの導入方法は[[MOD開発環境を作る]]、[[MinecraftForge導入手順]]のページを参照。 | ||
− | # | + | # ComputerCraftをダウンロード |
#* http://www.computercraft.info/download/ | #* http://www.computercraft.info/download/ | ||
# ダウンロードしたjarを解凍 | # ダウンロードしたjarを解凍 | ||
#* 拡張子をzipに変更して解凍する | #* 拡張子をzipに変更して解凍する | ||
# ソースコードを移動 | # ソースコードを移動 | ||
− | #* | + | #* 解凍した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フォルダに<u>CodeChickenCore dev版</u>とComputerCraftのjarをコピーした上で行う。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 関連リンク === | === 関連リンク === | ||
− | * [http://www.computercraft.info/ ComputerCraft 公式] | + | *[http://www.computercraft.info/ ComputerCraft 公式] |
− | * [http://www.computercraft.info/download/ ComputerCraft Download] | + | *[http://www.computercraft.info/download/ ComputerCraft Download] |
− | * [http://www.computercraft.info/forums2/index.php?/forum/17- ComputerCraft Forums: Peripherals and Turtle Upgrades] | + | *[http://www.computercraft.info/forums2/index.php?/forum/17- ComputerCraft Forums: Peripherals and Turtle Upgrades] |
− | * [http://www.computercraft.info/wiki/index.php?title=Turtle_Upgrade_IDs ComputerCraft Wiki: Turtle Upgrade IDs] | + | *[http://www.computercraft.info/wiki/index.php?title=Turtle_Upgrade_IDs ComputerCraft Wiki: Turtle Upgrade IDs] |
+ | |||
+ | == ComputerCraft API == | ||
+ | 「'''''実装'''する''」と書かれているものは追加したい機能に応じて実装する必要のあるインターフェース。<br /> | ||
+ | 以下「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 } | ||
== チュートリアル == | == チュートリアル == | ||
− | + | === 周辺機器 === | |
− | + | *[[ComputerCraft_API/周辺機器の追加|周辺機器の追加]] | |
− | + | *[[ComputerCraft_API/メソッドの追加|メソッドの追加]] | |
+ | *[[ComputerCraft_API/イベントの発生|イベントの発生]] | ||
+ | *[[ComputerCraft_API/リソースのマウント|リソースのマウント]] | ||
− | + | === タートルアップグレード === | |
− | + | *[[ComputerCraft_API/ツールタイプの追加|ツールタイプの追加]] | |
− | + | *[[ComputerCraft_API/周辺機器タイプの追加|周辺機器タイプの追加]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * [[ComputerCraft_API/ | ||
− | * [[ComputerCraft_API/ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <!-- | + | <!-- あったらいいな |
− | ** | + | === メディア === |
− | + | *音楽メディアの追加 | |
+ | *記録メディアの追加 | ||
− | + | === BundledRedstone === | |
− | * | + | *BundledRedstoneに入出力する周辺機器の追加 |
− | |||
--> | --> | ||
− | |||
− | |||
− |