提供: Minecraft Modding Wiki
移動先: 案内検索
(Peripheral)
 
(5人の利用者による、間の41版が非表示)
1行目: 1行目:
 
{{Stb}}
 
{{Stb}}
{{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.x~"及び"ComputerCraft 1.64~"}}
+
{{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.x~"及び"ComputerCraft 1.65~"}}
  
 
ComputerCraftのComputerから利用可能な周辺機器やTurtleに装着可能なTurtle Upgradeなどを追加することができる。
 
ComputerCraftのComputerから利用可能な周辺機器やTurtleに装着可能なTurtle Upgradeなどを追加することができる。
7行目: 7行目:
 
ComputerCraft APIを利用して以下のようなブロックやアイテムを追加できる
 
ComputerCraft APIを利用して以下のようなブロックやアイテムを追加できる
  
*ComputerやTurtleから利用可能な周辺機器ブロック
+
* ComputerやTurtleから利用可能な周辺機器ブロック
*Turtleへ装着可能なツールと周辺機器(Turtle Upgrade)
+
* Turtleへ装着可能なツールや周辺機器(Turtle Upgrade)
<!-- 以下調査中
+
* Disk Driveなどからアクセス可能なメディアアイテム
*Disk Driveなどから読み込み可能なメディア
+
* ComputerやTurtleに対して16チャンネルのレッドストーン入出力が可能なブロック
*ComputerやTurtleに対して16チャンネルのレッドストーン入出力が可能なブロック
 
-->
 
  
 
=== 開発環境への導入方法 ===
 
=== 開発環境への導入方法 ===
18行目: 16行目:
 
これらの導入方法は[[MOD開発環境を作る]]、[[MinecraftForge導入手順]]のページを参照。
 
これらの導入方法は[[MOD開発環境を作る]]、[[MinecraftForge導入手順]]のページを参照。
  
# ComputerCraftをダウンロード
+
# ModdingするバージョンのComputerCraftをダウンロード
 
#* http://www.computercraft.info/download/
 
#* http://www.computercraft.info/download/
 
# ダウンロードしたjarを解凍
 
# ダウンロードしたjarを解凍
 
#* 拡張子をzipに変更して解凍する
 
#* 拡張子をzipに変更して解凍する
 
# ソースコードを移動  
 
# ソースコードを移動  
#* 解凍したjarのapi\srcフォルダ内にある「dan200」フォルダを、(プロジェクトフォルダ)\src\api\javaフォルダ内に移動する
+
#* 解凍したjar内のapi\srcファルダ内にある'''dan200'''フォルダを、(プロジェクトフォルダ)\src\api\javaフォルダ内に移動する
#** Eclipseで利用する場合、導入後にsrc/api/javaフォルダをビルド・パスでソース・フォルダとして使用する設定にする
+
#** 移動後は(プロジェクトフォルダ)\src\api\java\'''dan200'''となる
#* APIをjarファイルとして導入していないので、チュートリアルでは「[[1.7でjar形式でないAPIを利用する方法]]」を参照の事
+
#** Eclipseで利用する場合、導入後にパッケージ・エクスプローラーで「src/api/'''java'''」フォルダを右クリック→「ビルド・パス」→「ソース・フォルダとして使用」でソースフォルダに設定にする
#* APIのドキュメント(英語)は解凍したjarのapi\docフォルダにある
+
#* APIのドキュメント(英語)は解凍したjar内のapi\doc\index.html
  
 
=== デバッグ方法 ===
 
=== デバッグ方法 ===
このAPIはリコンパイル時にエラーが出なくなるだけなので、デバッグは「[[MinecraftForge導入手順#MODのリリース]]」の手順で生成した配布可能なjarと、ComputerCraftを導入した通常のMinecraftで行う。
+
*'''プレイ環境上で行う場合''' (最終段階でのテストプレイ向き)
 +
# 「[[MinecraftForge導入手順#リリース]]」を参考にmodのjarを生成する
 +
# プレイ環境のゲームフォルダ内のmodsフォルダに自作modのjarとComputerCraftのjarを置く
 +
# 通常のプレイと同じようにMinecraftを起動する
 +
*'''Modding環境上で行う場合''' (開発段階でのトライアル・アンド・エラー向き)
 +
# Modding環境のデバッグ時にComputerCraftが正しくロードされるようにする
 +
#* '''1.76(Minecraft 1.8)まで''': Modding環境のゲームフォルダ内のmodsフォルダに<u>CodeChickenCore dev版</u>とComputerCraftのjarを置く
 +
#** 通常のデバッグはこれでも問題ないが、配布前に一度はCodeChickenCoreのないプレイ環境上でのテストプレイを推奨(CodeChickenCoreがcatchしてしまって見落としてしまう例外がいくらか存在するため)
 +
#* '''1.78(Minecraft 1.8.9)以降''':
 +
#*# プロジェクトフォルダ内にlibフォルダを作成し、そのフォルダにComputerCraftのjarを置く
 +
#*# build.gradle に以下の記述を追加する<source lang="groovy">dependencies { compile fileTree(dir: 'lib', include: '*.jar') }</source>
 +
#*# libフォルダに置いたComputerCraftのjarを開発環境のビルドパスに追加する
 +
#*# 「開発環境への導入方法」で追加した「src/api/java」をビルドパスから除去する
 +
# 「[[MinecraftForge導入手順#デバッグ]]」を参考にmodding環境上でデバッグを開始する
  
 
=== 関連リンク ===
 
=== 関連リンク ===
*[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] - 1.75(MC 1.7.10)まで。1.76(MC 1.8)以降はUpgrade IDがResourceLocationになったため基本的に被らなくなった。
 
 
== 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 ===
+
== クラス構成 ==
*インターフェース
+
API構成クラスの簡単な解説。詳細はAPI付属のJavadoc(英語)を参照。
*;ILuaContext
+
<!-- 今の所、CCのバージョンアップに伴い『APIのクラス構成・機能が変更された場合』に適宜追加しています
*:Computerから周辺機器やILuaObjectへ渡され、処理を中断してイベントを待つことが可能なメソッドを提供する
+
        By NMS ( http://minecraftjp.info/modding/index.php/%E5%88%A9%E7%94%A8%E8%80%85:NMS ) -->
*;ILuaObject
 
*:IPeripheral.callMethod()で返されるカスタムオブジェクトを'''''実装'''する''
 
  
*例外
+
* [[ComputerCraft_API/CC1.76のクラス構成|ComputerCraft 1.76 (Minecraft 1.8)]] ※MC1.7からMC1.8への変更点を含む
*;LuaException
+
* [[ComputerCraft_API/CC1.74のクラス構成|ComputerCraft 1.74 (Minecraft 1.7.10)]]
*:Lua内での例外。指定メソッド内でthrowすると処理を中断してComputerにエラーメッセージを表示できる
 
  
=== dan200.computercraft.api.media ===
+
<!-- 同MCバージョン内のより新しいCCバージョンでAPIが更新されたために過去のものとなったページの項目を折り畳み -->
*インターフェース
+
<div class="mw-collapsible mw-collapsed wikitable">
*;IMedia
+
以下、過去のバージョン(折り畳まれています。展開ボタン→)
*:Disk DriveなどにセットしてComputerから利用可能なメディアを'''''実装'''する''
+
<div class="mw-collapsible-content">
*:createDataMount() で IMount を返せば記録メディアとなり、getAudioRecordName() でリソース名を返せば音楽メディアとなる
+
* [[ComputerCraft_API/CC1.73のクラス構成|ComputerCraft 1.73 (Minecraft 1.7.10)]]
*;IMediaProvider
+
* [[ComputerCraft_API/CC1.65のクラス構成|ComputerCraft 1.65 (Minecraft 1.7.10)]]
*:Disk DriveなどでItemStackから対応した IMedia を提供するために'''''実装'''する''
+
</div>
*:ComputerCraftAPI.registerMediaProvider() でComputerCraftに登録する
+
</div>
 
 
=== dan200.computercraft.api.peripheral ===
 
*インターフェース
 
*;IComputerAccess
 
*:Computerから周辺機器へ渡され、周辺機器から呼出し可能なメソッドを提供する
 
*;IPeripheral
 
*:周辺機器の動作を'''''実装'''する''
 
*:周辺機器ブロックのTileEntityに実装。そのインスタンスを返すように実装した 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/[サンプルの動作確認をした一番古いCCバージョン]/[ページタイトル] としました(MC verだけなくCC ver単位でAPIの仕様変更に対応するため)
*[[ComputerCraft_API/周辺機器の追加|周辺機器の追加]]
+
    チュートリアルは文末「です・ます」で書いています。チュートリアルの対応バージョン表示は適宜編集予定です
<!-- あったらいいな
+
        By NMS ( http://minecraftjp.info/modding/index.php/%E5%88%A9%E7%94%A8%E8%80%85:NMS ) -->
*リソースのマウント
 
  
=== タートルアップブレード ===
+
{| class="wikitable"
*ツールタイプUpgaradeの追加
+
! scope="col"| 項目
*周辺機器タイプUpgaradeの追加
+
! scope="col"| バージョン別チュートリアル
 +
|-
 +
! scope="row" colspan="2"| 周辺機器
 +
|-
 +
! scope="row"| 周辺機器の追加
 +
|
 +
* [[ComputerCraft_API/1.76/周辺機器の追加|1.76~1.79 (MC 1.8.x)]]
 +
* [[ComputerCraft_API/1.65/周辺機器の追加|1.65~1.75 (MC 1.7.x)]]
 +
|-
 +
! scope="row"| 周辺機器メソッドの追加
 +
|
 +
* [[ComputerCraft_API/1.65/メソッドの追加|1.65~1.79 (MC 1.7.x~1.8.x)]]
 +
|-
 +
! scope="row"| 周辺機器イベントの発生
 +
|
 +
* [[ComputerCraft_API/1.65/イベントの発生|1.65~1.75 (MC 1.7.x)]]<br />△ MC1.8~でも参考可
 +
|-
 +
! scope="row" colspan="2"| TurtleUpgrade
 +
|-
 +
! scope="row"| ツールタイプTurtleの追加
 +
|
 +
* [[ComputerCraft_API/1.76/ツールタイプTurtleの追加|1.76~1.79 (MC 1.8.x)]]
 +
* [[ComputerCraft_API/1.65/ツールタイプTurtleの追加|1.65~1.75 (MC 1.7.x)]]
 +
|-
 +
! scope="row"| 周辺機器タイプTurtleの追加
 +
|
 +
* [[ComputerCraft_API/1.76/周辺機器タイプTurtleの追加|1.76~1.79 (MC 1.8.x)]]
 +
* [[ComputerCraft_API/1.65/周辺機器タイプTurtleの追加|1.65~1.75 (MC 1.7.x)]]
 +
|-
 +
! scope="row"| UpgradeNBTDataの利用
 +
|
 +
* [[ComputerCraft_API/1.65/UpgradeNBTDataの利用|1.65~1.79 (MC 1.7.x~1.8.x)]]
 +
|-
 +
! scope="row" colspan="2"| その他 CCAPI 全般
 +
|-
 +
! scope="row"| リソースのマウント
 +
|
 +
* [[ComputerCraft_API/1.65/リソースのマウント|1.65~1.79 (MC 1.7.x~1.8.x)]]
 +
|-
 +
! scope="row"| ILuaObjectの利用
 +
|
 +
* [[ComputerCraft_API/1.75/ILuaObjectの利用|1.75~1.79 (MC 1.7.x~1.8.x)]]
 +
|}
  
=== メディア ===
+
<!--
*音楽メディアの追加
+
**[[ComputerCraft_API/1.75/タスクの追加|タスクの追加]]
*記録メディアの追加
+
-->
  
=== BundledRedstone ===
+
<!--
*BundledRedstoneに入出力する周辺機器の追加
+
**[[ComputerCraft_API/1.75/TurtleCommandの追加|TurtleCommandの追加]]
 +
**[[ComputerCraft_API/1.75/TurtleAnimationの実行|TurtleAnimationの実行]]
 
-->
 
-->
 +
{{Stb}}
 +
 +
[[カテゴリ:API]]

2019年9月29日 (日) 14:06時点における最新版

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

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

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

概要[編集]

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

  • ComputerやTurtleから利用可能な周辺機器ブロック
  • Turtleへ装着可能なツールや周辺機器(Turtle Upgrade)
  • Disk Driveなどからアクセス可能なメディアアイテム
  • ComputerやTurtleに対して16チャンネルのレッドストーン入出力が可能なブロック

開発環境への導入方法[編集]

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

  1. ModdingするバージョンのComputerCraftをダウンロード
  2. ダウンロードしたjarを解凍
    • 拡張子をzipに変更して解凍する
  3. ソースコードを移動
    • 解凍したjar内のapi\srcファルダ内にあるdan200フォルダを、(プロジェクトフォルダ)\src\api\javaフォルダ内に移動する
      • 移動後は(プロジェクトフォルダ)\src\api\java\dan200となる
      • Eclipseで利用する場合、導入後にパッケージ・エクスプローラーで「src/api/java」フォルダを右クリック→「ビルド・パス」→「ソース・フォルダとして使用」でソースフォルダに設定にする
    • APIのドキュメント(英語)は解凍したjar内のapi\doc\index.html

デバッグ方法[編集]

  • プレイ環境上で行う場合 (最終段階でのテストプレイ向き)
  1. MinecraftForge導入手順#リリース」を参考にmodのjarを生成する
  2. プレイ環境のゲームフォルダ内のmodsフォルダに自作modのjarとComputerCraftのjarを置く
  3. 通常のプレイと同じようにMinecraftを起動する
  • Modding環境上で行う場合 (開発段階でのトライアル・アンド・エラー向き)
  1. Modding環境のデバッグ時にComputerCraftが正しくロードされるようにする
    • 1.76(Minecraft 1.8)まで: Modding環境のゲームフォルダ内のmodsフォルダにCodeChickenCore dev版とComputerCraftのjarを置く
      • 通常のデバッグはこれでも問題ないが、配布前に一度はCodeChickenCoreのないプレイ環境上でのテストプレイを推奨(CodeChickenCoreがcatchしてしまって見落としてしまう例外がいくらか存在するため)
    • 1.78(Minecraft 1.8.9)以降
      1. プロジェクトフォルダ内にlibフォルダを作成し、そのフォルダにComputerCraftのjarを置く
      2. build.gradle に以下の記述を追加する
        dependencies { compile fileTree(dir: 'lib', include: '*.jar') }
      3. libフォルダに置いたComputerCraftのjarを開発環境のビルドパスに追加する
      4. 「開発環境への導入方法」で追加した「src/api/java」をビルドパスから除去する
  2. MinecraftForge導入手順#デバッグ」を参考にmodding環境上でデバッグを開始する

関連リンク[編集]

クラス構成[編集]

API構成クラスの簡単な解説。詳細はAPI付属のJavadoc(英語)を参照。

以下、過去のバージョン(折り畳まれています。展開ボタン→)

チュートリアル[編集]

項目 バージョン別チュートリアル
周辺機器
周辺機器の追加
周辺機器メソッドの追加
周辺機器イベントの発生
TurtleUpgrade
ツールタイプTurtleの追加
周辺機器タイプTurtleの追加
UpgradeNBTDataの利用
その他 CCAPI 全般
リソースのマウント
ILuaObjectの利用


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